当前位置: 首页 > news >正文

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.lryc.cn/news/238627.html

相关文章:

  • Kafka-Producer
  • Ubuntu20上离线安装samba
  • 【开源】基于Vue.js的教学过程管理系统
  • 【C++】泛型编程 ⑪ ( 类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 )
  • 动手学深度学习——循环神经网络的简洁实现(代码详解)
  • 19.删除链表的倒数第 N 个节点
  • 机器人制作开源方案 | 莲花灯
  • 华为无线ac+fit三层组网,每个ap发射不同的业务vlan
  • 人工智能:科技之光,生活之美
  • mysql8.0英文OCP考试第61-70题
  • WaveletPool:抗混叠在微小目标检测中的重要性
  • 文章系列2:Unraveling the functional dark matter through global metagenomics
  • ubuntu 20.04 搭建crash dump问题分析环境
  • 算法训练营一刷 总结篇
  • Linux中的MFS分布式文件系统
  • 气相色谱质谱仪样品传输装置中电动针阀和微泄漏阀的解决方案
  • ArkTS基础知识
  • Kotlin学习(二)
  • LangChain 6根据图片生成推广文案HuggingFace中的image-caption模型
  • QFontDialog开发详解
  • 【C++进阶之路】第七篇:异常
  • shell 判断文件是否存在(csh bash)
  • 第六年到第十年是分水岭
  • 关于标准库中的string类 - c++
  • Chrome添加扩展程序
  • C++单调向量算法:132模式枚举1简洁版
  • 【ARFoundation学习笔记】2D图像检测跟踪
  • 计算机算法分析与设计(24)---分支限界章节复习
  • 二十三种设计模式-解密状态模式:优雅地管理对象状态
  • git常常用命令