【系统学习SpringBoot】SpringBoot 对象转JSON输出

article/2025/11/11 2:42:07

SpringBoot输出JSON

以往使用SpringMVC中开发时,对象转JSON需要配置很多东西
【1】添加FastJson/jackjson等第三方jar
【2】在配置文件中配置Controller扫描
【3】给方法添加@ResponseBody

配置FastJson还需要给配置文件中添加(很麻烦( ▼-▼ ))

<mvc:annotation-driven><mvc:message-converters><bean id="fastJsonHttpMessageConverter"class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value><value>application/json;charset=UTF-8</value></list></property></bean></mvc:message-converters>
</mvc:annotation-driven>



还记得SpringBoot的宗旨?【零配置】

对于以上一长串配置,对于SpringBoot是不需要的,直接给方法添加注解即可使用

像SpringMVC一样编写Controller,,只需要修改注解为【@RestController】即可。

package xatu.zsl.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import xatu.zsl.entity.Student;import java.util.ArrayList;
import java.util.List;/*** Created by zsl on 2017/9/2.*/
@RestController
public class HelloController {@RequestMapping("/springboot")public String hello() {return "Hello SpringBoot!";}@GetMapping("/student_json")public List getStudentJson() {List<Student> students = new ArrayList<>();students.add(new Student("刘备", "1406001", 25));students.add(new Student("张飞", "1406001", 20));students.add(new Student("关羽", "1406001", 23));students.add(new Student("曹操", "1405001", 24));return students;}}

在原先HelloController上添加一个方法,,返回List就可以转Json输出了

测试结果如下图:
这里写图片描述

有点简单粗暴了?,,那就对了



回头看看@ResponseBody

学过SpringMVC的读者都知道,Controller需要配置ResponstBody才能够返回内容,否则会去找ViewResolver进行转view输出,此处是直接输出的,,??why
【@RestController】这个注解是一个组合注解

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package org.springframework.web.bind.annotation;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ResponseBody;@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {String value() default "";
}

它包含了这两个注解【@Controller】【@ResponseBody】所以可以直接输出,,方便了许多。


http://chatgpt.dhexx.cn/article/QR94AVRK.shtml

相关文章

【Java 笔记】使用Fastjson2时,对象转json首字母大小写问题

开发环境&#xff1a; Spring cloud Fastjson2 一、JSON 转 Object 推送第三方数据时&#xff0c;对方http接口消息体为json&#xff0c;但是字段首字母大写 我们需要接收JSON 转 Object [ { "ItemCode": "WIND_SPEED", "ItemValue": "2.1…

js 数组、对象转json 以及json转 数组、对象

1、JS对象转JSON 方式&#xff1a;JSON.stringify(obj) var json {"name":"iphone","price":666}; //创建对象&#xff1b; var jsonStr JSON.stringify(json); //转为JSON字符串 console.log(jsonStr);2、JS数组转JSON //数组转json…

对象转JSON首字母大写

最近在做一个第三方接口&#xff0c;接口给的数据类型如下 请求报文如下 {"A0144":"12141256","AB6AM":"中国银行支行","STATUS":1} 一般按照对象转JSON会使首字母小写&#xff0c;与接口文档不相符&#xff0c;因此需要…

Object对象转实体对象,java对象转json

Object对象转实体对象 在后台发起HTTP请求的时候&#xff0c;响应体传回的一般是Object或者JSON字符串。 方法一 要将Object对象转换成实体类对象可以先使用com.alibaba.fastjson.JSONObject类的toJSONString方法将Object对象转换成JSON字符串&#xff0c;然后再调用JSONObj…

对象 和 json 互转 四种方式 json-lib、Gson、FastJson、Jackson

文章目录 一、 json-lib二、 Google的Gson1.简介2. 配置步骤1. MAVEN 依赖引入2. gsonUtil 工具类3. 排除不要序列化的熟悉注解类 Exclude 三. 阿里巴巴的FastJson1.简介2.配置步骤1.引入maven2. 配置 CustomFastjsonConfig3. 测试 4. 开源的Jackson简介&#xff1a;Jackson配置…

大数据Java学哪个好,哪个更有发展前景?

文章来源&#xff1a;加米谷大数据 在IT职业技能培训当中&#xff0c;Java开发可以说是非常经典的一个方向&#xff0c;行业当中对于Java开发人才&#xff0c;早年可以是存在长期持续性的需求。而大数据&#xff0c;作为近年来的新兴技术热点&#xff0c;也同样备受关注。因此很…

大数据Java基础之常用类

欢迎关注公众号&#xff1a; 9-1 字符串相关的类 String常用方法 9-2 JDK8之前日期时间API 9-4 Java比较器 9-5 System类 9-6 Math类 9-7 BigInteger与BigDecimal

Java毕设项目医疗大数据系统计算机(附源码+系统+数据库+LW)

Java毕设项目医疗大数据系统计算机&#xff08;附源码系统数据库LW&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

方向选择(嵌入式 大数据 java)

时间匆匆&#xff0c;不知不觉大二后半期了。晚上开了会要确定方向选择&#xff0c;嵌入式&#xff0c;大数据&#xff0c;java三个方向。 犹豫了好久&#xff0c;因为学了一段时间的java还是偏向于java的 不过也想学大数据&#xff0c;因为最近很火 大家都 知道的。现在来简…

大数据入门:Java和Scala编程对比

在学习大数据之初&#xff0c;很多人都会对编程语言的学习有疑问&#xff0c;比如说大数据编程主要用什么语言&#xff0c;在实际运用当中&#xff0c;大数据主流编程是Java&#xff0c;但是涉及到Spark、Kafka框架&#xff0c;还需要懂Scala。今天的大数据入门分享&#xff0c…

视频教程-大数据Java强化班(十)之大数据爬虫-Java

大数据Java强化班(十)之大数据爬虫 10年一线开发及项目管理经验&#xff0c;6年以上大数据项目架构、实施、开发与运维经验&#xff0c;骨灰级大数据玩家&#xff0c;对Hadoop、Storm、Spark、Flink、Kylin、Druid等大数据技术有较深研究。搭建、维护过上百节点集群&#xff0c…

Java大数据开发

(后记&#xff1a;写这些东西不管出于什么目的&#xff0c;总之自己乐意&#xff0c;有时候回顾一下&#xff0c;别有一番滋味&#xff01;) 博主 QQ&#xff1a;1103088881 idea 从菜鸟到大神 css-3d旋转相册 时钟罗盘 Java学习方法总结 Java 面向对象 …

大数据用Python还是JAVA

前言 大数据用python还是java?书声琅琅教育番茄老师介绍&#xff0c;人生苦短&#xff0c;我用python&#xff0c;这是目前比较流行的行话了&#xff0c;对于用python好还是JAVA好&#xff0c;大家都有自己的看法&#xff0c;虽然JAVA流行时间较&#xff0c;但是python出现的…

Java及大数据学习路线

1.Java学习路线 1.1JavaSE Java基础 Java8新特性 数据库MySQL与SQL语言 JDBC 1.2JavaWeb HTML基础与CSS JavaScript DOM 与 jQuery XML与Tomcat HTTP协议 服务器端组件Servlet JSP EL表达式 JSTL 会话控制Cookie和Session 服务器端组件Filter 服务器端组件Listener 国际化 …

搞大数据,Java 工程师需要掌握哪些知识?

先看再点赞&#xff0c;给自己一点思考的时间&#xff0c;微信搜索【沉默王二】关注这个有颜值却假装靠才华苟且的程序员。 本文 GitHub github.com/itwanger 已收录&#xff0c;里面还有我精心为你准备的一线大厂面试题。 题目是一名叫“截然不同”的同学私信我的一个问题&…

大数据Java基础之Java反射机制

欢迎关注公众号&#xff0c;一起进步&#xff0c;共同成长。 15-1 Java反射机制概述 15-2 理解Class类并 获取Class的实例 15-3 类的加载 与ClassLoader的理解 15-4 创建运行时类的对象 15-5 获取运行时类的完 整结构 15-6 调用运行时类的指定结构 15-7 反射的应用&#xff1a;…

大数据java基础吗?

大数据必备 关于大数据基础知识&#xff0c;以前浪尖写过一篇文章&#xff0c;也多次在 知识星球里分享过经验。 具体学习内容&#xff0c;可以参看如下文章&#xff1a; 入门大数据必读 这个可以看到做大数据的话java是必需品&#xff0c;因为基本所有的大数据框架都是jvm开发…

大数据Java基础之异常

欢迎关注公众号&#xff1a; Java知识体系 7-1 异常概述与异常体系结构 7-2 常见异常 7-3 异常处理机制一&#xff1a;try-catch-finally 7-4 异常处理机制二&#xff1a;throws 7-6 用户自定义异常类

大数据Java基础之集合

欢迎关注公众号&#xff1a; 11-1 Java集合框架概述 11-2 Collection接口方法 11-3 Iterator迭代器接口 11-4 Collection子接口之一&#xff1a;List接口 List实现类之二&#xff1a;LinkedList 11-5 Collection子接口之二&#xff1a;Set接口 11-6 Map接口 Map实现类之二&…