`

78. [视频]Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】

阅读更多

 

 

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

配套视频地址http://study.163.com/course/introduction.htm?courseId=1004329008#/courseDetail?tab=1

 

       个人使用比较习惯的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

 

 à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

 

 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

历史章节

 

第一章 快速开始

1、Spring Boot之Hello World

2、Spring Boot之Hello World访问404

 

第二章 Spring Boot之JSON

1、spring boot返回json数据

2、Spring Boot完美使用FastJson解析JSON数据

 

第三章 Spring Boot热部署

1、Spring Boot热部署(springloader)

2、springboot + devtools(热部署)

 

第四章 Spring Boot数据库

1、Spring Boot JPA/Hibernate/Spring Data概念

2、Spring Boot JPA-Hibernate

3、Spring Boot Spring Data JPA介绍

4、Spring Boot JdbcTemplate

5、Spring Boot集成MyBatis

 

第五章 web开发

1、全局异常捕捉

2、配置server信息

3、spring boot使用thymeleaf

4、Spring Boot 使用freemarker

5、Spring Boot添加JSP支持

 

第六章 定时任务

1、Spring Boot定时任务

2、Spring Boot 定时任务升级篇(动态修改cron参数)

3、Spring Boot 定时任务升级篇(动态添加修改删除定时任务)

4、Spring Boot 定时任务升级篇(集群/分布式下的定时任务说明)

5、Spring Boot Quartz介绍

6、Spring Boot Quartz在Java Project中使用

7、Spring Boot 集成Quartz普通使用

8、Spring Boot 集成Quartz升级版

9、Spring Boot 集成Quartz二次升级版

10、Spring Boot 集成Quartz-Job如何自动注入Spring容器托管的对象

 

第七章 Spring Boot MyBatis升级篇

1、Spring Boot MyBatis升级篇-注解

2、Spring Boot MyBatis升级篇-注解-自增ID

3、Spring Boot MyBatis升级篇-注解-增删改查

4、Spring Boot MyBatis升级篇-注解-分页查询

5、Spring Boot MyBatis升级篇-注解-分页PageHelper不生效

6、Spring Boot MyBatis升级篇-注解- mybatic insert异常:BindingException: Parameter 'name' not found

7、Spring Boot MyBatis升级篇-注解- #和$符号特别篇

8、Spring Boot MyBatis升级篇-注解-@Result

9、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案一:<script>

10、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案二:@Provider

11、Spring Boot MyBatis升级篇-注解-动态SQL-参数问题

12、Spring Boot MyBatis升级篇-注解-特别篇:@MapperScan和@Mapper

13、Spring Boot MyBatis升级篇-XML

14、Spring Boot MyBatis升级篇-XML-自增ID

15、Spring Boot MyBatis升级篇-XML-增删改查

16、Spring Boot MyBatis升级篇-XML-分页查询

17、Spring Boot MyBatis升级篇-XML-分页PageHelper不生效

18、Spring Boot MyBatis升级篇-XML-动态SQL(if test)

19、Spring Boot MyBatis升级篇-XML-注解-初尝试

20、Spring Boot MyBatis升级篇- pagehelper替换为pagehelper-spring-boot-starter

 

第八章 Spring Boot 知识点1

1、Spring Boot 拦截器HandlerInterceptor

2、Spring Boot启动加载数据CommandLineRunner

3、Spring Boot环境变量读取和属性对象的绑定

4、Spring Boot使用自定义的properties

5、Spring Boot使用自定义的properties

6、Spring Boot使用@SpringBootApplication

7、Spring Boot 监控和管理生产环境

 

第十章 Spring Boot 打包部署

1、Spring Boot打包部署((提供Linux的sh文件))

 

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

 

3、Spring Boot日志-log4j2

分享到:
评论
8 楼 313055150 2017-02-09  
有个bug,如果是字符串返回,返回结果带有引号
7 楼 林祥纤 2016-12-16  
jackyting825 写道
fastjson1.2.9,这种方式不行的.取消了FastJsonConfig类,这样是可以的
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
fastConverter.setDateFormat("yyyy-MM-dd HH:mm:ss");
fastConverter.setFeatures(SerializerFeature.PrettyFormat);
HttpMessageConverter<?> converter = fastConverter;


赞....
6 楼 yuchao2015 2016-12-16  
[b][i][u]
引用
[list]
[*][img][url][/url][/img]
[/list]
[/u][/i][/b]
5 楼 yuchao2015 2016-12-16  
[flash=200,200][/flash]
4 楼 yuchao2015 2016-12-16  
3 楼 jackyting825 2016-10-19  
fastjson1.2.9,这种方式不行的.取消了FastJsonConfig类,这样是可以的
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
fastConverter.setDateFormat("yyyy-MM-dd HH:mm:ss");
fastConverter.setFeatures(SerializerFeature.PrettyFormat);
HttpMessageConverter<?> converter = fastConverter;
2 楼 林祥纤 2016-09-19  
wangyufive 写道
这个支持依稀


Thx.
1 楼 wangyufive 2016-09-18  
这个支持依稀

相关推荐

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    在Java开发中,处理JSON数据时通常会用到一些库,如`com.alibaba.fastjson.JSON` 和 `net.sf.json.JSONObject`。这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`...

    SpringBoot中使用FastJson解析Json数据示例代码

    本示例将探讨如何在Spring Boot项目中集成并使用FastJson来解析JSON数据。 首先,我们需要在项目的`pom.xml`文件中添加FastJson的依赖。Spring Boot本身并未内置FastJson,所以需要手动引入: ```xml &lt;groupId&gt;...

    java FASTJSON 解析复杂JSON实例源码

    在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...

    FastJson解析Json数据源码-旧版

    这个过程通常从`JSON.parse()`或`JSON.parseObject()`开始,这两个方法会根据输入的字符串创建一个`JSONLexer`实例,它是FastJson的词法分析器,用于读取并解析JSON文本。 `JSONLexer`会逐字符地扫描JSON字符串,...

    Alibaba Fastjson Jar包.zip

    它提供了快速解析和生成JSON的能力,使得在Java程序中处理JSON数据变得极其便捷。这个"Alibaba Fastjson Jar包.zip"文件包含了Fastjson库的JAR文件,用于在项目中引入Fastjson的依赖,以便你可以使用其提供的各种...

    fastjson解析json的jar

    4. **流式解析**:对于大数据量的JSON,Fastjson提供了流式解析API,可以按需读取JSON数据,避免一次性加载整个JSON字符串到内存中。 三、使用示例 1. **基本序列化与反序列化** ```java import ...

    com.alibaba.fastjson json解析工具包

    `com.alibaba.fastjson`是阿里巴巴开发的一个高性能的Java JSON库,被广泛应用于各种JSON处理场景,如数据序列化、反序列化、JSON字符串解析等。它以其高效、易用和全面的功能,深受Java开发者喜爱。本篇文章将深入...

    Spring Boot使用FastJson解析JSON数据的方法

    在Spring Boot中实现JSON数据解析是一项常见的需求,而FastJson是一个广泛使用的Java库,可以快速实现JSON的处理。本文将详细介绍如何在Spring Boot项目中使用FastJson来解析JSON数据。 首先,关于FastJson库的版本...

    sping boot 实战视频教程(百度云+源码+视频)

    03、Spring Boot完美使用FastJson解析JSON数据_高清.mp4 04、Spring Boot热部署(springloader)_高清.mp4 05、springboot + devtools(热部署)_标清.flv 06、Spring Boot JPAHibernateSpring Data概念_标清.flv ...

    fastjson解析json.rar

    总的来说,这个压缩包提供了使用Fastjson在Java中解析JSON的一个简单示例,涵盖了从网络获取数据、解析JSON、创建Java对象以及反向转化的全过程。通过学习和理解这些文件,开发者可以更好地掌握Fastjson的使用,提高...

    fastjson-1.2.78.jar.zip

    在标题提及的"fastjson-1.2.78.jar.zip"压缩包中,包含的就是Fastjson的1.2.78版本的JAR文件,这个文件对于开发者来说是一份非常重要的工具,可以帮助我们轻松处理JSON数据。 一、Fastjson简介 Fastjson是由阿里...

    fastjson-1.2.83.jar下载

    fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...

    fastjson 快速解析json

    fastjson 快速解析json json、List互转

    springboot实现FastJson解析json数据的方法

    在Spring Boot中实现FastJson解析JSON数据的方法主要涉及以下几个知识点: 1. FastJson简介: FastJson是由阿里巴巴开源的一款Java语言编写的高性能的JSON处理器。它可以方便快速地将Java对象转换成JSON字符串,也...

    com.alibaba.fastjson.JSONObject(JAR包)

    com.alibaba.fastjson.JSONObject(JAR包)下载 ,jar包含了json的转换和使用

    fastjson包解析json数据

    阿里巴巴 fastjson是目前解析json数据的一种比较高效,快速的方式。

    封装 fastjson 的json格式化工具

    **Fastjson JSON格式化工具封装详解** Fastjson是阿里巴巴开源的一款高效、强大的Java语言实现的JSON库。它具有性能优异、使用简单等优点,广泛应用于Java Web开发中,特别是对于数据的序列化与反序列化操作。在...

    Json_Gson_FastJson解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,它易于人阅读和编写,同时也易于机器解析和生成。在Java世界中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括org....

    Volley。fastJson解析网络Json ,多线程显示图片,简单缓存图片,万能适配器,完美解决图片排序混乱问题,完美解决图片多次加载问题

    FastJson是阿里巴巴的一个开源JSON解析库,它在处理速度上表现出色,能够快速地解析和生成JSON数据。 首先,我们要讨论的是如何使用Volley和FastJson进行网络Json解析。Volley提供了RequestQueue来管理网络请求,你...

    Android中FastJson解析json

    5. **流式解析和生成**:对于大数据处理,FastJson提供了流式解析和生成接口,避免一次性加载整个JSON到内存,有效降低内存消耗。 6. **安全处理**:FastJson还提供了防止XXE(XML External Entity)攻击的安全特性...

Global site tag (gtag.js) - Google Analytics