SpringBoot返回JSON数据基本操作

SpringBoot返回统一封装格式的JSON数据 最近做了一个springboot项目,了解了下controller层统一格式返回数据,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用 文章目录一 概要二 @RestController注解三 常用数据类型转为 JSON 格式3.1 创建 User 实体类3.2 创建 Controller 类3.3 测试不同数据类型返回的 JSON3.4 Jackson 中对 null 的处理四 使用 fastjson 封装统一返回的数据结构4.1 使用 fastjson4.1.1 Ja. 阅读详情

创建工程时添加web依赖spring-boot-starter-web
这个依赖默认添加jackson-databin作为json处理器,所以直接上手。

创建实体类

@Component
public class Man {
    private String name;
    private int age;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date burn_date;
	//省略getter  setter
}

创建控制器

@RestController
public class HelloController {
    @Autowired
    private Man man;
    @GetMapping("/man")
    public Man hello(){
        man.setAge(30);
        man.setName("卢本伟");
        man.setBurn_date(new Date());
        return man;
    }
}

访问返回json数据
{“name”:“卢本伟”,“age”:30,“burn_date”:“2020-10-17”}

除了常见的json以外,还有gson还有fastjson
使用Gson:
首先要移除json-databind依赖
SpringBoot提供了Gson的自动转换类GsonHttpMessageConvertersConfiguration,所以添加完依赖以后就可以直接像json一样用了
实体类不用在字段上添加额外的注解
但是如果你想要对日期进行转换时,就要自定义转换类替代默认转换类

@Configuration
public class GsonConfig {
    @Bean
    GsonHttpMessageConverter gsonHttpMessageConverter(){
        GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
        GsonBuilder gsonBuilder = new GsonBuilder() ;
        gsonBuilder.setDateFormat("yyyy-MM-dd hh:mm:ss");
        //Protect受保护的字段不处理
        gsonBuilder.excludeFieldsWithModifiers(Modifier.PROTECTED);
        Gson gson  = gsonBuilder.create();
        gsonHttpMessageConverter.setGson(gson);
        return gsonHttpMessageConverter;
    }
}

最后时fastjson,听说时解析最快的框架,阿里巴巴牛x
但是它没那么容易使用
首先还是移除jackson-databind依赖
然后引入fastjson依赖
因为它不同于Gson,json,它要求提供自定义的转换类

@Configuration
public class MyFastJsonConfig {
    @Bean
    FastJsonHttpMessageConverter fastJsonHttpMessageConverter(){
        FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setCharset(Charset.forName("UTF-8"));
        fastJsonConfig.setDateFormat("yyyy-MM-dd");
        fastJsonConfig.setSerializerFeatures(
                SerializerFeature.WriteClassName,
                SerializerFeature.WriteMapNullValue,
                SerializerFeature.PrettyFormat,
                SerializerFeature.WriteNullListAsEmpty,
                SerializerFeature.WriteNullStringAsEmpty
        );
        fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
        return fastJsonHttpMessageConverter;
    }
}

除此之外还要配置响应编码

server.servlet.encoding.force-response=true
PredFormer实战:用Transformer搞定交通流量预测(附TaxiBJ数据集代码) 本文详细介绍了如何利用PredFormer这一基于Transformer的先进模型进行交通流量预测,特别针对TaxiBJ数据集提供了完整的实战代码和优化策略。PredFormer通过门控Transformer块(GTB)的创新设计,在时空预测任务中展现出显著优势,相比传统方法将MSE降低33.1%,推理速度提升4.4倍。文章还涵盖了模型轻量化、部署优化等实用技巧,为智慧城市建设中的交通预测提供了高效解决方案。 阅读详情

相关推荐

C# 异步编程详解(Task,async/await)

同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方法。异步的好处在于非阻塞(调用线程不会暂停执行去等待子线程完成),因此我们把一些不需要立即使用结果、较耗时的任务设为异步执行,可以提高程序的运行效率。

luxingyu329的博客 4154

SpringBoot (二) --- 返回Json数据

SpringBoot的学习之旅~

qq_54103767的博客 9490

告别Windows!Oculus Quest 2在Mac M1上的串流实战(scrcpy+SideQuest避坑指南)

本文为Mac M1用户提供了Oculus Quest 2在macOS上实现高清低延迟串流的实战指南。通过使用开源工具scrcpy和SideQuest,绕开官方限制,详细讲解了从环境准备、无线调试到画质与延迟优化的完整步骤,重点解决了Apple Silicon芯片Mac的连接与性能问题,助你告别Windows依赖。

weixin_29224309的博客 308

Spring Boot 返回 Json 数据

由于封装的 json 数据的类型不确定,所以在定义统一的 json 结构时需要用到泛型。统一的 json 结构中属性包括数据、状态码、提示信息即可,构造方法可以根据实际业务需求做相应的添加即可,一般来说,应该有默认的返回结构,也应该有用户指定的返回结构。//需要传递的数据//用户自定义相应码,注意不是服务器响应状态码。如果不需要传递详细信息还可以使用 boolean success;// 服务器回传信息。

我的博客 3375

物联网技术-第2章-物联网技术架构

• 物联网具有很强的异构性• 为实现异构设备之间的互联、互通与互操作,物联网需要以一个开放的分层的可扩展的为框架。

m0_73804764的博客 2977

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片。

代码讲故事 503

Spring Boot返回JSON数据(三种方式)

Spring Boot返回JSON数据(三种方式) 默认实现 使用Gson 使用fastjson 1. 默认实现 ​ spring-boot-starter-web依赖默认加入了jackson-databind作为json处理器,此时不需要添加额外的JSON处理器就能返回一段JSON了。 ​ 创建一个Book实体类: package com.itlearn.springboot06json.beans; import com.fasterxml.jackson.annotation.JsonForma

Eternal_Summer 2万+

42、InfiniBand技术详解:QP状态机、操作及错误处理

本文深入解析InfiniBand技术中的核心组件QP(Queue Pair)状态机、工作请求处理机制、支持的操作类型及错误处理策略。详细介绍了QP的创建与状态转换流程,包括INIT、RTR、RTS等关键状态,并提供了状态修改的代码示例。文章还探讨了工作请求的发布、资源使用限制、围栏机制以及重试和RNR流程,帮助开发者理解通信可靠性保障机制。此外,涵盖了多播组的应用场景与API使用方法,并对比了用户空间与内核级RDMA API的调用差异,最后给出了实践建议和常见问题解答,为构建高性能分布式系统提供技术指导。

oauth7security的博客 132

Spring Boot 返回Json数据

返回Json数据

探索er的博客 9314

Vue3 - [最强] 超详细 Element Plus 组件库主题颜色进行 “统一全局“ 替换,将默认的蓝色主题色更换为其他自定义颜色,覆盖原来的主题色改为自己的颜色(完美解决主题色不生效、没反应)

elementplus修改主题色,vue3+element-plus主题色更换,vue3vite如何修改扩展elementplus主题色样式,全局设置elementplus主题色,有什么办法可以直接全局修改主题色,对elementplus默认蓝色不满意怎么替换更改其他颜色,elementplus覆盖默认主题色,elementplus主题色官方文档,vue3中修改elementplus主题色,elementplus修改主题色不生效怎么办,elementplus如何修改主题颜色,eleme

🏆 前端领域优质创作者 1万+

基于uniapp实现自定义日历页面、年份月份选择、动态日历渲染、日期标记及备忘录、无组件依赖、多端兼容

基于UniApp框架下自定义日历组件的完整实现方案,涵盖基础日历渲染、年月选择器集成、动态数据标记等核心功能。提供完整代码段,帮助开发者快速构建高性能、高定制化的日历模块,适用于日程管理、预订系统等场景。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

【SpringBoot】响应处理——数据以 json 格式返回的原理

SpringBoot响应处理 —— 返回 JSON数据的原理

liuwanqing233333的博客 3892

OpenClaw界面操作手册:命令行与交互模式的正确打开方式

"test": {"description": "运行项目的测试套件","prompt": "请执行项目的测试命令,并分析测试结果。如果有失败的测试,请提供修复建议。},"lint": {"description": "运行代码检查","prompt": "请运行代码检查工具,分析所有警告和错误,并提供修复建议。},"doc": {"description": "为当前文件生成文档","prompt": "请为当前打开的文件生成完整的API文档,包括函数说明、参数描述、返回值类型和使用示例。

gaoxiang_120的专栏 3148

Spring Boot 返回 JSON 数据及数据封装

文章目录2.1 @RestController 注解2.2 常用数据类型转为 JSON 格式2.2.1 创建 User 实体类2.2.2 创建 Controller 类2.2.3 测试不同数据类型返回的 JSON2.2.4 Jackson 中对 null 的处理2.3 使用 fastjson2.3.1 Jackson VS fastjson2.3.2 fastjson 依赖导入2.3.3 使用 f...

taojin12的博客 6万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SpringBoot 返回 Json 数据格式

一、@RestController 注解二、Jackson1、对象、List、Map 转换为Json格式2、Jackson 的配置类三、Fastjson1、Fastjson 配置类四、封装返回的数据格式 一、@RestController 注解 在 Spring Boot 中的 Controller 中使用 @RestController 注解即可返回 JSON 格式的数据。 @RestController 注解包含了 @Controller 和 @ResponseBody 注解。@ResponseB.

360°顺滑 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

springboot返回json数据

JSON是目前主流的前后端数据传输方式。默认情况下,当创建一个springboot项目时,添加了web依赖,这个依赖默认加入了jackson-databind作为JSON处理器,此时不需要添加额外的JSON处理器就能返回一段JSON了 创建一个Book实体类 package com.example.jsonexer.entity; import lombok.Data; import java.util.Date; @Data public class Book { private S.

weixin_43862596的博客 2877

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SpringBoot自定义404、500返回JSON数据

SpringBoot自定义404、500返回JSON数据 现有的方法,编写全局的异常处理,需要在SpringBoot配置文件中配置没有找到Controller时抛出异常,并且将静态资源映射关闭。因为默认是不抛出异常的,是去找错误页面,所以还需要关闭静态资源映射。但是这样就无法访问静态资源了。以下是解决方法。 当未找到页面时,会调用默认的Controller,就是这个没有值的Request...

秋天的博客 5191

SpringBoot项目中如何设置统一返回json格式数据

SpringBoot如何设置统一返回json格式数据 这个方法也适于一般的Spring项目,只不过我目前的项目是SpringBoot为框架 我们需要将结果数据显示在前段页面上,所以我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一,是前端对数据的操作更一致、轻松,一般会包含状态码、返回消息、数据这几部分内容。 统一定义结果 { "success":布尔,//响应是否成功 "code":数字,//响应码 "message":字符串,//返回消息 "data":HashMap//

weixin_51370812的博客 4089

SpringBoot系列之返回JSON数据及格式封装

重点内容: 在 Controller 中使用@RestController注解即可返回 Json 格式的数据 Spring Boot 中默认使用的 Json 解析技术框架是 jackson jackson 中对null的处理(配置文件重要) FastJson与jackson 对比 FastJson对null的处理(配置文件重要) 统一返回结果封装对象(代码重要) 返回码定义统一结果...

jatej 4669

springboot返回json数据对属性为null值的处理

springboot返回json数据对属性为null值的处理 参考网址: https://mp.weixin.qq.com/s/y7RXiF9ENxYnLWN_jdWbRg Spring Boot返回Json数据及数据封装 本来已收录到我写的10万字Springboot经典学习笔记中,笔记在持续更新……文末有领取方式 在项目开发中,接口与接口之间,前后端之间数据的传输都使用 Json 格式,在 Spring Boot 中,接口返回 Json 格式的数据很简单,在 Controller 中使用@Res

java技术博客 1万+

第二章 SpringBoot系列返回json数据

文章目录前言一、JSON是什么?二、控制器中增加返回JSON数据方法(实际工作中我们称之为接口1.新建数据结构POJO实体类2.在控制器DemoController中加入getJsonData方法三、接口返回json数据效果总结 前言 上一章写的是从0搭建SpringBoot项目,本章就在上一章的基础上说说SpringBoot项目是如何返回json数据的,结合日常工作中场景讲解返回json数据结构。 提示:以下是本篇文章正文内容,下面案例可供参考 一、JSON是什么? JSON(JavaScript O

main方法 1203

SpringMVC或SpringBoot中如何返回JSON数据

实际开发中常需自定义 JSON 格式(如日期格式化、忽略 null 值等),可通过 Jackson 注解或全局配置实现。通过或指定返回响应体;依赖消息转换器(默认 Jackson)将返回值序列化为 JSON;可通过注解或全局配置自定义 JSON 格式;推荐使用统一响应体和全局异常处理,规范接口格式。

2502_92141759的博客 1180

SpringBoot返回Json数据

{“code”:“0”, “data”:{“作者信息”:{“id”:1, “password”:“”,“username”:“闫峻”},“优快云 地址”:null,“粉丝数量”:4153,“博客地址”:“http://blog.yan.com”},“msg”:“操作成功!{“作者信息”:{“id”:1,“username”:“闫峻”,“password”:“”},“优快云 地址”:“”,“粉丝数量”:4153,“博客地址”:“http://blog.yan.com”}

qq_40067747的博客 1184

SpringBoot返回Json和Jsp页面数据

(一)SpringBoot返回json数据 pom.xml引入依赖项 <parent> <artifactId>springboot_parent</artifactId> <groupId>cn.lzj.springboot</groupId> <version>1.0-S...

布谷鸟 4561

Springboot之返回json数据格式的两种方式-yellowcong

SpringBoot返回字符串的方式也是有两种,一种是通过@ResponseBody 和@RequestMapping(value = "/request/data", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") 中的produces = "application/json;charse...

疯猫 1万+

Springboot返回json数据

Springboot返回json数据 1. SpringBoot框架默认的方式; 1.编写实体类student; package com.gmm; /**测试的实体类 *. */ public class Student { private Integer sId; private String sName; private String gender; public Integer getsId...

qq_39341192的博客 322
上一篇: 第二章SpringBoot基础配置知识
下一篇: SpringBoot持久层技术(jdbcTemplate+mybatis+springdataJPA)
皮皮大虾
博客等级 码龄7年 6粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值