SpringBoot 03_利用FastJson返回Json数据
自上一节:SpringBoot 02_返回json数据,可以返回json数据之后,由于有些人习惯于不同的Json框架,比如fastjson,这里介绍一下如何在SpringBoot中集成fastjson来实现对数据的json序列化。
在使用fastjson时,可以有以下两种集成方式,但是都需要引入fastjson的依赖包
1:引入fastjson依赖包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
2:新建User.java
@Data
public class User { // 姓名
private String name;
// 年龄
private Integer age;
// 生日private LocalDateTime birthday;
// 备注private String remark;
}
3:集成fastjson
1:方式一
- 启动类继承extends WebMvcConfigurerAdapter
- 覆盖方法configureMessageConverters
启动类:
@SpringBootApplication
public class FastjsonApplicationOne extends WebMvcConfigurerAdapter{ /**
* 在这里注册fastjson的类型转换器,需要版本1.2.10以后的
* 方式一:
* 通过继承WebMvcConfigurerAdapter,然后添加converter
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastJsonHttpMessageConverter);
} public static void main(String[] args) {
SpringApplication.run(FastjsonApplicationOne.class, args);
}
}
2:方式二
- 在App.java启动类中,注入Bean : HttpMessageConverters
启动类
@SpringBootApplication
public class FastjsonApplicationTwo { public static void main(String[] args) {
SpringApplication.run(FastjsonApplicationTwo.class, args);
} @Bean
HttpMessageConverters fastJsonHttpMessageConverters(){
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastJsonHttpMessageConverter;
return new HttpMessageConverters(converter);
}
}
4:Controller类的编写
@RestController
@RequestMapping("/fastJson")
public class FastJsonController { @GetMapping("/getUser")
public User getUser(){
User user = new User();
user.setName("Bob");
user.setAge(5);
user.setBirthday(LocalDateTime.now());
user.setRemark("This is remark.");
return user;
}
}
5:分别执行FastjsonApplicationOne和FastjsonApplicationTwo的主方法,输入:lcoalhost:8080/fastJson/getUser进行测试:
如果能够返回上述结果,恭喜你,你已经可以利用SpringBoot集成fastjson来对返回数据进行json化处理了。
SpringBoot 03_利用FastJson返回Json数据的更多相关文章
- 小记SpringMVC与SpringBoot 的controller的返回json数据的不同
近期由于项目的改动变更,在使用springmvc和springboot测试的时候发现一个有趣的现象 1.springmvc的controller使用@ResponseBody返回的仅仅是json格式的 ...
- SpringBoot 02_返回json数据
在SpringBoot 01_HelloWorld的基础上来返回json的数据,现在前后端分离的情况下多数都是通过Json来进行交互,下面就来利用SpringBoot返回Json格式的数据. 1:新建 ...
- PHP AJAX 返回JSON 数据
例子:利用AJAX返回JSON数据,间接访问数据库,查出Nation 表,并用下拉列表显示 造一个外部下拉列表框 </select> JQurey代码 $(document).ready( ...
- 2.SpringBoot之返回json数据
一.创建一个springBoot个项目 操作详情参考:1.SpringBoo之Helloword 快速搭建一个web项目 二.编写实体类 /** * Created by CR7 on 2017-8- ...
- Spring Boot返回json数据及完美使用FastJson解析Json数据
Spring Boot返回json数据 视频地址:http://www.iqiyi.com/w_19rubxzsr5.html 博文参考:https://blog.csdn.net/linxingl ...
- SpringBoot之返回json数据
一.创建一个springBoot个项目 二.编写实体类 /** * 返回Json数据实体类 */ public class User { private int id; private String ...
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
- Struts2.5 利用Ajax将json数据传值到JSP
AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着 ...
- 关于springmvc 返回json数据null字段的显示问题-转https://blog.csdn.net/qq_23911069/article/details/62063450
最近做项目(ssm框架)的时候,发现从后台返回的json(fastjson)数据对应不上实体类,从数据库查询的数据,如果对应的实体类的字段没有信息的话,json数据里面就不显示,这不是我想要的结果,准 ...
随机推荐
- Number浮点数运算详解
文章来自我的 github 博客,包括技术输出和学习笔记,欢迎star. 一道题 0.1 + 0.2 = ? 在浏览器中测试下计算结果,得到的结果是 0.30000000000000004,并不是理想 ...
- Spark中的各种action算子操作(java版)
在我看来,Spark编程中的action算子的作用就像一个触发器,用来触发之前的transformation算子.transformation操作具有懒加载的特性,你定义完操作之后并不会立即加载,只有 ...
- C 常见字符串操作函数
头文件 <string.h> 1. char *strstr(const char *str1, const char *str2); 判断str2是否为str1的子串 //s ...
- React和vue的差异和相似地方
React 单向绑定(加插件后,还是可以双向绑定) Vue 双向绑定 组件化 1. React,需要编写render函数, 2. 当React状态的状态state改变是render就会重新被调用, 重 ...
- Task ProgressBar模拟现实完成后显示TextBox
private async void Form1_Load(object sender, EventArgs e) { progressBar1.Maximum = ; progressBar2.Ma ...
- CSIC_716_20191118【常用模块的用法 Json、pickle、collections、openpyxl】
序列化模块 序列化:将python或其他语言中的数据类型,转变成字符串类型. python中的八大数据类型回顾:int float str list tuple dict set bool 反序列化: ...
- ES5给object扩展的一些静态方法
1. Object.create(prototype[, descriptors]) : 创建一个新的对象 1). 以指定对象为原型创建新的对象 2). 指定新的属性, 并对属性进行描述 value ...
- 十一. for of
const fruits = ['Apple','Banana','Orange','Mango']; es5: 可读性差 for(let i=0; i < fruits.length; i + ...
- response.text与content的区别
在某些情况下来说,response.text 与 response.content 都是来获取response中的数据信息,效果看起来差不多.那么response.text 和 response.co ...
- jQuery - DOM对象和jQuery对象
DOM对象 : 直接使用JavaScript获取的节点对象 jQuery对象 : 使用jQuery选择器获取的节点对象 DOM对象和jQuery对象分别拥有一套独立的方法, 不能混用 <scri ...