怎么使用Spring Boot处理JSON数据

技术怎么使用Spring Boot处理JSON数据这篇文章主要介绍“怎么使用Spring Boot处理JSON数据”,在日常操作中,相信很多人在怎么使用Spring Boot处理JSON数据问题上存在疑惑,小编查阅了各式

本文主要介绍“如何使用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数据。

怎么使用Spring  Boot处理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 数据返回到客户端。

怎么使用Spring Boot处理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,效果如图:

怎么使用Spring Boot处理JSON数据

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数据

到此,关于“怎么使用Spring Boot处理JSON数据”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/62647.html

(0)

相关推荐

  • 分析mysql系统库日志信息记录表

    技术分析mysql系统库日志信息记录表这篇文章主要介绍“分析mysql系统库日志信息记录表”,在日常操作中,相信很多人在分析mysql系统库日志信息记录表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月5日
  • Git提交规范是什么

    技术Git提交规范是什么本篇内容介绍了“Git提交规范是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、为什么需要

    攻略 2021年11月11日
  • ai怎么画三角形,AI如何画裤子款式图啊

    技术ai怎么画三角形,AI如何画裤子款式图啊先介绍第一种办法就是用混合工具~~这样办法呢~有个缺点~~就是拉链在转折的地方不自然 需要分段来处理
    1ai怎么画三角形、用矩形工具画圆角巨型
    2、填充需要的颜色
    3、调整大小

    生活 2021年10月25日
  • 羊绒衫怎么洗最好,羊绒衫染了用什么方法可以洗掉

    技术羊绒衫怎么洗最好,羊绒衫染了用什么方法可以洗掉清洗羊绒衫前羊绒衫怎么洗最好,先注意羊绒衫的衣标,尤其是衣服的成分,清洗方式,水温及晾干方法,不要因为操作失误,浪费一件衣服。 将洗衣盆内接好清水,水温控制在35度以下,

    生活 2021年10月28日
  • Python怎么爬取当当网APP数据

    技术Python怎么爬取当当网APP数据本篇文章给大家分享的是有关Python怎么爬取当当网APP数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目标场景

    攻略 2021年10月26日
  • php如何实现记录分页

    技术php如何实现记录分页这篇文章将为大家详细讲解有关php如何实现记录分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 php实现记录分页的思路:1、获

    攻略 2021年12月10日