1.引入FastJson依赖包

 <!-- FastJson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency>

  

pom.xml参考

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.muyang</groupId><artifactId>boot1</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>boot1</name><url>http://maven.apache.org</url><!-- Inherit defaults from Spring Boot --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version><!--<version>2.0.1.RELEASE</version>--></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 自动依赖parent里面的版本<version></version>--></dependency><!--  dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency--><!-- FastJson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>boot1</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${java.version}</source><target>${java.version}</target>               </configuration></plugin></plugins></build></project>

  

2.App.java继承WebMvcConfigurerAdapter,然后复写configureMessageConverters方法,加入自定义的FastJson配置

/*** 复写configureMessageConverters*/@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {// TODO Auto-generated method stub//super.configureMessageConverters(converters);/** 1、需要先定义一个 convert 转换消息的对象;* 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;* 3、在convert中添加配置信息.* 4、将convert添加到converters当中.* */// 1、需要先定义一个 convert 转换消息的对象;FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(              SerializerFeature.PrettyFormat);//3、在convert中添加配置信息.fastConverter.setFastJsonConfig(fastJsonConfig);//4、将convert添加到converters当中.converters.add(fastConverter);}

  

APP.JAVA参考

package com.muyang.boot1;import java.util.List;import org.apache.log4j.Logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;/*** Hello world!**/
@SpringBootApplication
public class App extends WebMvcConfigurerAdapter
{private static Logger logger = Logger.getLogger(App.class);/*** 复写configureMessageConverters*/@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {// TODO Auto-generated method stub//super.configureMessageConverters(converters);/** 1、需要先定义一个 convert 转换消息的对象;* 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;* 3、在convert中添加配置信息.* 4、将convert添加到converters当中.* */// 1、需要先定义一个 convert 转换消息的对象;FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(                SerializerFeature.PrettyFormat);//3、在convert中添加配置信息.fastConverter.setFastJsonConfig(fastJsonConfig);//4、将convert添加到converters当中.converters.add(fastConverter);}public static void main( String[] args ){//System.out.println( "Hello World!" );\SpringApplication.run(App.class, args);logger.info("--sprint-boot-");}}

  

3.建立Demo.java类,用来创建json输出之前的对象,并创建new Date()日期格式化属性

JSONField(format="yyyy-MM-dd HH:mm")

private Date createTime

/*** 格式化时间*/@JSONField(format="yyyy-MM-dd HH:mm")private Date createTime;    /*** 不显示json*/@JSONField(serialize=false)private String remarks;

  

Demo.java参考

package com.muyang.boot1;import java.util.Date;import com.alibaba.fastjson.annotation.JSONField;public class Demo {private int id;private String name;/*** 格式化时间*/@JSONField(format="yyyy-MM-dd HH:mm")private Date createTime;  /*** 不显示json*/@JSONField(serialize=false)private String remarks;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public String getRemarks() {return remarks;}public void setRemarks(String remarks) {this.remarks = remarks;}}

  

4.HelloController.java控制器

普通输出

@RequestMapping(value="/hello")public String hello(){return "hello";}

  

json输出

/**
* charset解决中文乱码
**/
@RequestMapping(value="/getDemo", produces = "application/json; charset=utf-8")public Demo getDemo(){Demo demo = new Demo();demo.setId(1);demo.setName("张三");demo.setCreateTime(new Date());demo.setRemarks("这是备注信息");return demo;}

  

HelloController.java参考

package com.muyang.boot1;import java.util.Date;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@RequestMapping(value="/hello")public String hello(){return "hello";}@RequestMapping(value="/getDemo", produces = "application/json; charset=utf-8")public Demo getDemo(){Demo demo = new Demo();demo.setId(1);demo.setName("张三");demo.setCreateTime(new Date());demo.setRemarks("这是备注信息");return demo;}}

  

转载于:https://www.cnblogs.com/achengmu/p/9295088.html

FastJson/spring boot: json输出相关推荐

  1. spring boot json字符串转复杂对象

    bean 创建 /*** @Author wangZhiDong* @Date 2021/8/22* 学生实体**/ @Data public class Student {private Strin ...

  2. Spring Boot EasyUI edatagrid 扩展

    edatagrid扩展组件详解 edatagrid组件是datagrid的扩展组件,增加了统一处理CRUD的功能,可以用在数据比较简单的页面.使用的时候需要额外引入jquery.edatagrid.j ...

  3. Spring Boot 2.0.0参考手册_中文版

    Spring Boot参考文档 第一部分:Spring Boot文档 1. 关于文档 Sring参考文档可以通过html,pdf和epub 三种形式得到.最新的文档可以从docs.spring.io/ ...

  4. ELK 处理 Spring Boot 日志,妙!

    以下文章来源方志朋的博客,回复"666"获面试宝典 在排查线上异常的过程中,查询日志总是必不可缺的一部分.现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常 ...

  5. ELK 处理 Spring Boot 日志,有点强悍!

    在排查线上异常的过程中,查询日志总是必不可缺的一部分.现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难.工欲善其事,必先利其器.如果此时有一个统一的实时日志分析平台,那可 ...

  6. Spring Boot swagger之前后端分离

    前后端分离详解 现在的趋势发展,需要把前后端开发和部署做到真正的分离做前端的谁也不想用Maven或者Gradle作为构建工具做后端的谁也不想要用Grunt或者Gulp作为构建工具 前后端需要通过接口来 ...

  7. Spring Boot EasyUI datagrid

    jQueryEasyUI详解 jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面. 开发者 ...

  8. Spring Boot Java应用代码混淆介绍

    本文简要介绍一下开源Java混淆编译工具ProGuard的实际应用案例. 我们知道某些情况下软件的作者需要保护软件本身不被使用者反编译,或者给对方反编译制造一定的障碍,为了达到这个目的人们可以有很多不 ...

  9. Spring Boot:在Spring Boot中使用定时任务

    2019独角兽企业重金招聘Python工程师标准>>> 本文主要介绍如何在Spring Boot中使用定时任务,假设你已经建好了一个基础的Spring Boot项目.首先,我们在项目 ...

最新文章

  1. MmGetSystemRoutineAddress和MiFindExportedRoutineByName函数的实现代码
  2. eclipse开发android手机定位
  3. led显示屏服务器怎么设置,led显示屏怎么改字幕 led显示屏改字幕方法
  4. 从您的计算机移除此产品,解决office提示“此操作只对目前安装的产品有效”的方法...
  5. STL学习笔记-set的基本原理以及插入、遍历
  6. HTTP Status 500 - An exception occurred processing JSP page /common/../left.jsp at line 20
  7. 和媳妇加一起月薪三万五想换车了不知道x5养的起吗?
  8. 【干货】李航老师《统计学习方法》(第2版)清华PPT课件分享
  9. 模板解压下来是php文件,smarty模板解压完将libs目录放到哪?
  10. 计算机学科融合信息技术,信息技术与学科教学融合课例解析
  11. Object-C 与C/C++的区别
  12. c语言编写aoi程序,AOI编程步骤
  13. 计算机 移动硬盘 图标删除,移动硬盘卸载图标丢失的解决办法 -电脑资料
  14. 《安富莱嵌入式周报》第245期:2021.12.20--2021.12.26
  15. C语言基本变量类型及变量的定义
  16. MySQL数据库——常用数据库大汇总(附带优缺点)
  17. 概率论例题01:设P(A)=a,P(B)=b,P(A∪B)=c,则P(A非B)=()
  18. 基于Windows系统的文件查重小程序
  19. 服务器×××上的MSDTC不可用
  20. 实践干货!猿题库 iOS 客户端架构设计

热门文章

  1. Scrum基础知识体系和感想
  2. 深度学习之卷积神经网络(7)池化层
  3. 计算机辅助初中数学教学,初中数学合作教学如何融入计算机辅助教学
  4. 逆序输出1到4位正整数
  5. JAVA连接Excel最好用的开源项目EasyExcel,官方使用文档及.jar包下载
  6. 【ubuntu-version】 几种常见工具查看版本的命令
  7. keras核心已转储_转储Keras-ImageDataGenerator。 开始使用TensorFlow-tf.data(第2部分)
  8. 国家标准GB7665-87传感器
  9. 张爱玲《小团圆》的备忘和感想 (一)
  10. 有多少恐怖小说家就应该有多少种吓唬人的方法