【原创文章,转载请注明出处】

个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢?

       引入fastjson依赖库:

<dependencies>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.15</version>

</dependency>

这里要说下很重要的话,官方文档说的1.2.10以后,会有两个方法支持HttpMessageconvert,一个是FastJsonHttpMessageConverter,支持4.2以下的版本,一个是FastJsonHttpMessageConverter4支持4.2以上的版本,具体有什么区别暂时没有深入研究。这里也就是说:低版本的就不支持了,所以这里最低要求就是1.2.10+。

       配置fastjon

支持两种方法:

第一种方法就是:

(1)启动类继承extends WebMvcConfigurerAdapter

(2)覆盖方法configureMessageConverters

具体代码如下:

/**

*

* @author Angel --守护天使

* @version v.0.1

* @date 2016年7月29日下午7:06:11

*/

@SpringBootApplication

public class ApiCoreApp  extends WebMvcConfigurerAdapter {

@Override

public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

super.configureMessageConverters(converters);

FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

FastJsonConfig fastJsonConfig = new FastJsonConfig();

fastJsonConfig.setSerializerFeatures(

SerializerFeature.PrettyFormat

);

fastConverter.setFastJsonConfig(fastJsonConfig);

converters.add(fastConverter);

}

}

第二种方法:

(1)在App.java启动类中,注入Bean : HttpMessageConverters

具体代码如下:

package com.kfit;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.web.HttpMessageConverters;

import org.springframework.context.annotation.Bean;

import org.springframework.http.converter.HttpMessageConverter;

import com.alibaba.fastjson.serializer.SerializerFeature;

import com.alibaba.fastjson.support.config.FastJsonConfig;

import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;

/**

*

* @author Angel --守护天使

* @version v.0.1

* @date 2016年7月29日下午7:06:11

*/

@SpringBootApplication

public class ApiCoreApp {

@Bean

public HttpMessageConverters fastJsonHttpMessageConverters() {

FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

FastJsonConfig fastJsonConfig = new FastJsonConfig();

fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

fastConverter.setFastJsonConfig(fastJsonConfig);

HttpMessageConverter<?> converter = fastConverter;

return new HttpMessageConverters(converter);

}

public static void main(String[] args) {

SpringApplication.run(ApiCoreApp.class, args);

}

}

那么这时候在实体类中使用@JSONField(serialize=false),是不是此字段就不返回了,如果是的话,那么恭喜你配置成功了,其中JSONField的包路径是:com.alibaba.fastjson.annotation.JSONField。

【Spring Boot 系列博客】

76. Spring Boot完美解决(406)Could not find acceptable representation原因及解决方法

75. Spring Boot 定制URL匹配规则【从零开始学Spring Boot】

71.mybatis 如何获取插入的id【从零开始学Spring Boot】

67. @Transactional的类注入失败【从零开始学Spring Boot】

63.JPA/Hibernate/Spring Data概念【从零开始学Spring Boot】

61. mybatic insert异常:BindingException: Parameter 'name' not found【从零开始学Spring B】

60. Spring Boot写后感【从零开始学Spring Boot】

59. Spring Boot Validator校验【从零开始学Spring Boot】

58. Spring Boot国际化(i18n)【从零开始学Spring Boot】

57. Spring 自定义properties升级篇【从零开始学Spring Boot】

56. spring boot中使用@Async实现异步调用【从零开始学Spring Boot】

55. spring boot 服务配置和部署【从零开始学Spring Boot】

54. spring boot日志升级篇—logback【从零开始学Spring Boot】

52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】

51. spring boot属性文件之多环境配置【从零开始学Spring Boot】

50. Spring Boot日志升级篇—log4j【从零开始学Spring Boot】

49. spring boot日志升级篇—理论【从零开始学Spring Boot】

48. spring boot单元测试restfull API【从零开始学Spring Boot】

47. Spring Boot发送邮件【从零开始学Spring Boot】

46. Spring Boot中使用AOP统一处理Web请求日志

45. Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】

44. Spring Boot日志记录SLF4J【从零开始学Spring Boot】

43. Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot】

42. Spring Boot多数据源【从零开始学Spring Boot】

41. Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】

40. springboot + devtools(热部署)【从零开始学Spring Boot】

39.4 Spring Boot Shiro权限管理【从零开始学Spring Boot】

39.3 Spring Boot Shiro权限管理【从零开始学Spring Boot】

39.2. Spring Boot Shiro权限管理【从零开始学Spring Boot】

39.1 Spring Boot Shiro权限管理【从零开始学Spring Boot】

38 Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot】

37 Spring Boot集成EHCache实现缓存机制【从零开始学Spring Boot】

36 Spring Boot Cache理论篇【从零开始学Spring Boot】

35 Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】

更多查看博客: http://412887952-qq-com.iteye.com/

转载于:https://www.cnblogs.com/hehehaha/p/6147060.html

78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】相关推荐

  1. (38)Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot】

    [本文章是否对你有用以及是否有好的建议,请留言] 在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而访问到另外 ...

  2. SpringBoot中使用FastJson解析Json数据

    场景 1.SpringBoot默认配置的是Jackson. 2.项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 ...

  3. fastjson解析JSON数据乱序导致的问题

    本文作者:合肥工业大学 电子商务研究所 钱洋 email:1563178220@qq.com . 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 文章目录 问题背景 问题解决 完整的案例代码 ...

  4. 5.spring boot使用FastJson解析JSON数据

    2019独角兽企业重金招聘Python工程师标准>>> 1.引入FastJson依赖包 <dependency><groupId>com.alibaba< ...

  5. springboot日志写入mysql_44. Spring Boot日志记录SLF4J【从零开始学Spring Boot】

    学院中有Spring Boot相关的课程!点击「阅读原文」进行查看! SpringSecurity5.0视频:http://t.cn/A6ZadMBe Sharding-JDBC分库分表实战: 在开发 ...

  6. 14. Spring Boot定时任务的使用【从零开始学Spring Boot】

    [视频 & 交流平台] à SpringBoot视频 http://study.163.com/course/introduction.htm?courseId=1004329008& ...

  7. (10)Spring Boot修改端口号【从零开始学Spring Boot】

    Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...

  8. 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什 ...

  9. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...

    此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...

最新文章

  1. 跨平台PHP调试器设计及使用方法——通信
  2. 四月青少年编程组队学习(Python一级)Task02
  3. 无效字符 java_Java知识查漏补缺
  4. font awesome java_Android使用Font Awesome显示小图标(一)
  5. 数控铣削图案及编程_数控铣削简单图案编程
  6. 华为在哪发布的鸿蒙,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪
  7. Effective Java之优先使用标准的异常(六十)
  8. 字节流复制文件 java
  9. 75-100-024-测试-MySQL 双表优化案例
  10. arch开机自动认证
  11. vsftpd虚拟用户使用实验报告
  12. .NET-MVC站点部署到windows server2008r2服务器404错误
  13. Chrome 92 版本新特性 92 版本发行说明
  14. Revisiting Pixel-Wise Supervision for Face Anti-Spoofing
  15. 换手机了备忘录怎么恢复?专家为你解答数据恢复问题
  16. 一起来读书361- 应用密码学:第十一章 数学背景
  17. java--Timer 定时器
  18. 私有云大展拳脚 云计算发展趋势已明朗
  19. 电脑上的以太网连接,本地连接,宽带连接,无线WLAN连接的区别(超详细)--转载
  20. java牙科诊所管理系统_基于jsp的私人牙科诊所管理系统-JavaEE实现私人牙科诊所管理系统 - java项目源码...

热门文章

  1. msp430入门学习30
  2. 翘课老黄历——设计文档
  3. Logistic Regression 之基础知识准备
  4. POJ-2155 Matrix 二维线段树 | 树状数组
  5. HTTP 状态代码及其定义(转载)
  6. CodeSmith 破解和注册
  7. 画原型前需要思考的一些事(上)
  8. 前facebook产品技术leader徐玮:如何建立用户增长机制
  9. FLOW福禄创始人朱萧木:如何通过产品设计助力品牌营销传播
  10. 从“小而精”到“大而广”,知乎怎样一步步迈向全民皆知?