Json数据格式

json比较可读,通过键值对返回。实现通常有两种方式:一种是自己来构造,也就是用一个对象存储数据,在最后输出时将其json字符串化;第二种是使用 @RestController 注解实现json数据返回。

第一种 

导入依赖坐标:

        <dependency>
<!--            json--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-json</artifactId></dependency>

实体类:

public class Pet {private Long id;private String name;private int age;private String color;private String description;public Pet(Long id, String name, int age, String color, String description) {this.id = id;this.name = name;this.age = age;this.color = color;this.description = description;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}
}

创建一个Controller进行测试:

@RestController
@RequestMapping("/test_json")
public class TestJson {@Autowiredpublic Testjson testjson;@RequestMapping("/pet")public Pet getPet(){return new Pet(1L,"团团",2,"black","a cut panda");}@RequestMapping("/petList")public List<Pet> getPetList(){List<Pet> pets = new ArrayList<>();pets.add(new Pet(2L,"小狗",3,"write","a dog"));pets.add(new Pet(1L,"小猪",2,"pink","a pig"));return pets;}}

完成。

第二种 

这里使用第三方代替实现,此方法比较粗糙不推荐使用,例如选择 alibaba 开源的 faskjson。依赖配置:

            <groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.25</version>

 测试提供的实体类:

package org.example.pojo;public class User {private String name;private String password;public User(String name, String password) {this.name = name;this.password = password;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

测试类:

package org.example.service;import com.alibaba.fastjson.JSON;
import org.example.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;import java.util.ArrayList;
import java.util.List;
@Component
public class Testjson {public String objectToJson(){//单个Java 对象User user = new User("tfboys","2333");String userJsonStr = JSON.toJSONString(user);System.out.println("java类转json字符串为:"+userJsonStr);//多个java 对象User user1 = new User("gameboy","2334");User user2 = new User("steatboy","456789");List<User> users = new ArrayList<>();users.add(user1);users.add(user2);String ListUserJson = JSON.toJSONString(users);System.out.println("List<Object> 转 json字符串是:"+ListUserJson);jsonToObject();return ListUserJson.toString();}public void jsonToObject(){String jsonStr1 = "{'password':'123456','name':'dmeget'}";User user = JSON.parseObject(jsonStr1, User.class);System.out.println("json字符串转简单java对象:"+user.toString());}
}

这里使用了两个比较重要的方法:一个是把对象json化的toJsonString方法,另一个是把json对象化的parseObject。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/157697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里 OSS鉴权访问文件

如果OSS文件设置保护&#xff0c;需要鉴权才能访问&#xff0c;添加请求头鉴权&#xff0c;SDK方法如上&#xff1b; 将鉴权信息和地址、时间返回给前端&#xff0c;前端直接从oss上读取 String filePath "/admin/2023/6/183569314928918546.png"; RequestMessage…

【C++上层应用】6. 信号 / 中断

文章目录 【 1. signal 函数 】【 2. raise函数 】 信号是由操作系统传给进程的 中断&#xff0c;会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上&#xff0c;可以通过按 CtrlC 产生中断。有些信号不能被程序捕获&#xff0c;但是下表所列信号可以在程序中捕…

Git——感谢尚硅谷官方文档

Git——尚硅谷学习笔记 第1章 Git 概述1.1 何为版本控制1.2 为什么需要版本控制1.3 版本控制工具1.4 Git 简史1.5 Git 工作机制1.6 Git 和代码托管中心 第2章 Git 安装第 3 章 Git 常用命令3.1 设置用户签名3.2 初始化本地库3.3 查看本地库状态3.4 添加暂存区3.4.1 将工作区的文…

sklearn模型中预测值的R2_score为负数

目录 正文评论区参考链接 正文 Sklearn.metrics下面的r2_score函数用于计算R&#xff08;确定系数&#xff1a;coefficient of determination&#xff09;。它用来度量未来的样本是否可能通过模型被很好地预测。 分值为 1 表示最好&#xff0c;但我们在使用过程中&#xff0c…

媒体格式转换软件Permute 3 mac中文版软件特点

Permute mac是一款媒体格式转换软件&#xff0c;可以帮助用户快速地将各种音频、视频和图像文件转换成所需格式&#xff0c;并提供了一些常用工具以便于用户进行编辑和处理。 Permute mac软件特点 - 支持大量格式&#xff1a;支持几乎所有常见的音频、视频和图像格式&#xff…

Redis事务+秒杀案例

Redis事务是一个单独的隔离操作&#xff0c;是指将多条命令放在一个命令队列当中&#xff0c;按顺序执行&#xff0c;保证多个命令在同一个事务中执行而不受其他客户端的影响。 通俗来说就是&#xff1a;串联多个命令防止别的命令插队。 1.Multi、Exec、discard 在输入Multi命…

大数据Doris(二十七):Routine Load数据导入演示

文章目录 Routine Load数据导入演示 一、启动kafka集群(三台节点都启动) 二、创建topic

[SWPUCTF 2021 新生赛]非常简单的逻辑题 // %的逆向

代码解密题 flag xxxxxxxxxxxxxxxxxxxxx s wesyvbniazxchjko1973652048$-&*<> result for i in range(len(flag)):s1 ord(flag[i])//17s2 ord(flag[i])%17result s[(s1i)%34]s[-(s2i1)%34] print(result) # result v0b9n1nkajzj0c4jjo3oi1h1i937b395i5y5e0e…

R语言——taxize(第四部分)

taxize&#xff08;第四部分&#xff09; 3.39. get_wiki&#xff08;获取维基分类群的页面名称&#xff09;3.40. get_wormsid&#xff08;获取分类群名称的Worms ID&#xff09;3.41. gni_details&#xff08;使用Global Names Index搜索分类学名称详情&#xff09;3.42. gni…

2024电脑录屏软件排行第一Camtasia喀秋莎

真的要被录屏软件给搞疯了&#xff0c;本来公司说要给新人做个培训视频&#xff0c;想着把视频录屏一下&#xff0c;然后简单的剪辑一下就可以了。可谁知道录屏软件坑这么多&#xff0c;弄来弄去头都秃了&#xff0c;不过在头秃了几天之后&#xff0c;终于让我发现了一个值得“…

Java查询多条数据放入word模板 多个word文件处理成zip压缩包并在前端下载.zip文件

需求&#xff1a;Java查询多条数据放入word模板 多个word文件处理成zip压缩包并在前端下载.zip文件 解决方法&#xff1a;在模板的位置定义参数如 {{name}} {{age}}等等&#xff0c;使用 poi 处理 伪代码&#xff1a; PostMapping("/exportPracticeAppr")public S…

微信小程序面试题【100道】

文章目录 小程序面试题100问前言一、技术性问题1.有哪些参数传值的方法2.小程序修改数据值与Vue和React有什么差异3.如何实现下拉刷新与上拉加载4.bindtap和catchtap的区别是什么5.小程序有哪些导航API&#xff0c;它们各自的应用场景与差异区别是什么6.小程序中如何使用第三方…

城市易涝点怎么安装万宾科技内涝积水监测仪?

城市内涝是多个城市广泛存在的问题&#xff0c;经常给城市的居民和基础设施带来一些安全威胁。暴雨引发的道路积水和交通中断、财产损失&#xff0c;甚至公共安全威胁都是城市管理者需要提前预防的问题。为了解决这些问题&#xff0c;内涝积水监测仪的应用是一大重要的举措&…

CSDN流量卷领取和使用保姆级教程——流量卷,恭喜获得每日任务奖励【1500曝光】可获得新增曝光,阅读转化,点赞转化,新增关注-流量卷,流量卷,流量卷

希望本文能够给您带来一定的帮助&#xff0c;文章粗浅&#xff0c;敬请批评指正&#xff01; 目录 话不多说&#xff0c;直接上干货&#xff1a; 第一步&#xff1a;流量卷领取教程&#xff1a;点击内容管理&#xff1a;​编辑 第二步&#xff1a;点击首页&#xff1a;​编辑…

springcloud医院挂号预约系统源码

开发技术&#xff1a; jdk1.8&#xff0c;mysql5.7&#xff0c;nodejs&#xff0c;idea&#xff0c;vscode springcloud springboot mybatis vue elementui 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示医生列表&#xff0c;医院简介&#xff0c;点击医生…

2023年【上海市安全员C3证】考试内容及上海市安全员C3证复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 上海市安全员C3证考试内容是安全生产模拟考试一点通总题库中生成的一套上海市安全员C3证复审考试&#xff0c;安全生产模拟考试一点通上上海市安全员C3证作业手机同步练习。2023年【上海市安全员C3证】考试内容及上海…

网站服务器域名怎么配置的

网站服务器域名怎么配置的 域名服务器是网站最重要的组成部分&#xff0c;那么服务器如何配置域名&#xff1f;接下来就让壹基比小鑫给大家分享一下网站服务器域名配置操作方法&#xff0c;如果对这方面感兴趣的话&#xff0c;不妨进来文章学习一下吧。 DNS&#xff08;Domai…

在银行外包如何自我提升

作者&#xff1a;苍何&#xff0c;前大厂高级 Java 工程师&#xff0c;阿里云专家博主&#xff0c;CSDN 2023 年 实力新星&#xff0c;土木转码&#xff0c;现任部门技术 leader&#xff0c;专注于互联网技术分享&#xff0c;职场经验分享。 &#x1f525;热门文章推荐&#xf…

阿里云ECS服务器如何搭建并连接FTP,完整步骤

怎么用终端连接服务器就不多说了&#xff0c;直接开始搭建FTP。 我是用root账号执行的命令&#xff0c;如果不使用root账号&#xff0c;注意在命令前面加sudo。 一、安装FTP 我这里安装的是vsftpd。 1、检查是否已安装vsftpd&#xff1a; vsftpd -v如果出现了版本信息&…

【nlp】2.7 seq2seq英译法实战项目解析

seq2seq英译法实战项目 1 seq2seq介绍1.1 seq2seq模型架构2 数据集介绍3 案例步骤3.1 导入工具包和工具函数3.2 数据预处理3.2.1 清洗文本和构建文本字典3.2.2 构建数据源对象3.2.3 构建数据迭代器3.3 构建基于GRU的编码器和解码器3.3.1 构建基于GRU的编码器3.3.2 构建基于GRU的…