怎么使用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学习笔记(三)数据处理函数,分组函数(多行处理函数)数据处理函数B站老杜——MySQL入门又被称为单行处理函数特点:一个输入对应一个输出和单行处理函数相对的是:多

    礼包 2021年11月1日
  • 格拼音,占上中下格的拼音有哪些

    技术格拼音,占上中下格的拼音有哪些拼音格,它是有4条横着的平行线从上到下依次组成了上格、中格和下格格拼音。 在四线三格占上中格的小写字母有9个:b、d、f、h、i、k、l、t、ü,注意它们书写在中上格时,笔画上端必须紧顶

    生活 2021年10月25日
  • 写花的词语,有哪些带花的词语或诗句

    技术写花的词语,有哪些带花的词语或诗句有哪些带花的词语或诗句写花的词语?整理如下:1.桃花潭水深千尺,不及汪伦送我情。——唐,李白2.花飞花谢花满天,红消香断有谁怜。——《红楼梦》葬花吟3.燕子不归春事晚,一汀烟雨杏花寒

    生活 2021年10月27日
  • phpmyadmin如何实现root账户外部访问

    技术phpmyadmin如何实现root账户外部访问本篇内容介绍了“phpmyadmin如何实现root账户外部访问”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

    攻略 2021年11月9日
  • Linux WIFI 4G内核怎么配置

    技术Linux WIFI 4G内核怎么配置这篇文章主要介绍“Linux WIFI 4G内核怎么配置”,在日常操作中,相信很多人在Linux WIFI 4G内核怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年11月30日
  • 为什么不同的香港服务器网站速度不同

    技术为什么不同的香港服务器网站速度不同网站速度至关重要。许多不同的研究表明,如果网站速度缓慢,超过一半的用户会离开网站。但是现在让我们谈谈哪些与香港服务器相关的问题会降低您的服务速度以及如何解决这些问题。网站速度很慢——

    礼包 2021年12月17日