本文主要介绍“如何使用Spring Boot处理JSON数据”。在日常操作中,相信很多人对于如何使用Spring Boot处理JSON数据都有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮你解决如何使用Spring Boot处理JSON数据的疑惑!接下来,请和边肖一起学习!
Spring Boot 处理 JSON 数据
JSON是目前主流的数据传输方式。当从控制器返回一个Java对象或列表集时,Spring Boot将自动将其转换为JSON数据。
JSON解析功能内置于Spring Boot。当您在项目中添加spring-boot-starter-web模块时,您可以看到默认情况下包含Jackson解析器,或者可以使用Fastjson等其他解析器来代替。
1. 编辑 Book 类
{
Integerid
Stringname
Stringauthor
漂浮大米;
(模式=)
DatebookPublicationDate
}
2. 编辑 BookController
,在返回数据时,需要使用@ResponseBody注释。如果经常使用@Controller和@ResponseBody注释,可以使用@RestController来组合注释。
{
()
{
bookbook=Book();
book . setid();
book . setname();
book . setauthor();
book . setprice();
book . setbookpublicationdate(Date());
书;
}
}运行后,直接在地址栏中访问http://localhost:8080/book,可以看到返回的JSON数据。
3. 转换集合数据
添加getBooks()方法,创建一个List集合,并存储三本书。具体源代码如下:
()
{
ListBookbookList=ArrayList();
bookbook 1=Book();
book 1 . setid();
book 1 . setname();
book 1 . setauthor();
book 1 . SetRice();
book 1 . setbookpublicationdate(Date());
bookbook 2=Book();
book 2 . setid();
铌
sp; book2.setName();
book2.setAuthor();
book2.setPrice();
book2.setBookPublicationDate( Date());
Book book3 = Book();
book3.setId();
book3.setName();
book3.setAuthor();
book3.setPrice();
book3.setBookPublicationDate( Date());
bookList.add(book1);
bookList.add(book2);
bookList.add(book3);
bookList;
}
运行之后,直接地址栏中访问 http://localhost:8080/getBooks,即可看到 getBooks() 方法创建多个 Book 对象封装在 List 集合中并将 JSON 数据返回到客户端。
4. 更换转换器
1)使用 Gson
Gson 是 Google 的开源 JSON 解析器,添加依赖的时候先要去除默认的 jackson,具体如下:
org.springframework.boot spring-boot-starter-web com.fasterxml.jackson.core jackson-databind com.google.code.gson gson
在 Gson 转换时,如果需要格式化日期数据,则需要自定义 HttpMessageConverter,接着提供一个 GsonHttpMessageConverter 即可,具体如下:
{ { GsonHttpMessageConverter converter = GsonHttpMessageConverter(); GsonBuilder builder = GsonBuilder(); builder.setDateFormat(); builder.excludeFieldsWithModifiers(Modifier.PROTECTED); Gson gson = builder.create(); converter.setGson(gson); converter; } }
修改 Book 类,具体如下:
{ Integer id; String name; String author; Float price; Date bookPublicationDate; }
运行之后,直接地址栏中访问 http://localhost:8080/getBooks,效果如图:
2)使用 fastjson
fastjson 是阿里巴巴的开源 JSON 解析器,也是目前速度最快的 JSON 解析器,整合之后需要提供相应的 HttpMessageConverter 才能使用,添加依赖,具体如下:
org.springframework.boot spring-boot-starter-web com.fasterxml.jackson.core jackson-databind com.alibaba fastjson
接着,添加 fastjson 的 HttpMessageConverter,具体如下:
{ { FastJsonHttpMessageConverter converter = FastJsonHttpMessageConverter(); FastJsonConfig config = FastJsonConfig(); config.setDateFormat(); config.setCharset(Charset.forName()); config.setSerializerFeatures( SerializerFeature.WriteClassName, SerializerFeature.WriteMapNullValue, SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullStringAsEmpty ); converter.setFastJsonConfig(config); converter; } }
再来 application.properties 中配置一个响应编码,具体如下:
spring.http.encoding.force-response=true
运行之后,直接地址栏中访问
http://localhost:8080/getBooks,效果如图:
到此,关于“怎么使用Spring Boot处理JSON数据”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/62647.html