码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Json数据格式


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

    第一种 

    导入依赖坐标:

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-jsonartifactId>
    4. dependency>

    实体类:

    1. public class Pet {
    2. private Long id;
    3. private String name;
    4. private int age;
    5. private String color;
    6. private String description;
    7. public Pet(Long id, String name, int age, String color, String description) {
    8. this.id = id;
    9. this.name = name;
    10. this.age = age;
    11. this.color = color;
    12. this.description = description;
    13. }
    14. public Long getId() {
    15. return id;
    16. }
    17. public void setId(Long id) {
    18. this.id = id;
    19. }
    20. public String getName() {
    21. return name;
    22. }
    23. public void setName(String name) {
    24. this.name = name;
    25. }
    26. public int getAge() {
    27. return age;
    28. }
    29. public void setAge(int age) {
    30. this.age = age;
    31. }
    32. public String getColor() {
    33. return color;
    34. }
    35. public void setColor(String color) {
    36. this.color = color;
    37. }
    38. public String getDescription() {
    39. return description;
    40. }
    41. public void setDescription(String description) {
    42. this.description = description;
    43. }
    44. }

    创建一个Controller进行测试:

    1. @RestController
    2. @RequestMapping("/test_json")
    3. public class TestJson {
    4. @Autowired
    5. public Testjson testjson;
    6. @RequestMapping("/pet")
    7. public Pet getPet(){
    8. return new Pet(1L,"团团",2,"black","a cut panda");
    9. }
    10. @RequestMapping("/petList")
    11. public List getPetList(){
    12. List pets = new ArrayList<>();
    13. pets.add(new Pet(2L,"小狗",3,"write","a dog"));
    14. pets.add(new Pet(1L,"小猪",2,"pink","a pig"));
    15. return pets;
    16. }
    17. }

    完成。

    第二种 

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

    1. <groupId>com.alibabagroupId>
    2. <artifactId>fastjsonartifactId>
    3. <version>2.0.25version>

     测试提供的实体类:

    1. package org.example.pojo;
    2. public class User {
    3. private String name;
    4. private String password;
    5. public User(String name, String password) {
    6. this.name = name;
    7. this.password = password;
    8. }
    9. public String getName() {
    10. return name;
    11. }
    12. public void setName(String name) {
    13. this.name = name;
    14. }
    15. public String getPassword() {
    16. return password;
    17. }
    18. public void setPassword(String password) {
    19. this.password = password;
    20. }
    21. }

    测试类:

    1. package org.example.service;
    2. import com.alibaba.fastjson.JSON;
    3. import org.example.pojo.User;
    4. import org.springframework.context.annotation.Bean;
    5. import org.springframework.stereotype.Component;
    6. import java.util.ArrayList;
    7. import java.util.List;
    8. @Component
    9. public class Testjson {
    10. public String objectToJson(){
    11. //单个Java 对象
    12. User user = new User("tfboys","2333");
    13. String userJsonStr = JSON.toJSONString(user);
    14. System.out.println("java类转json字符串为:"+userJsonStr);
    15. //多个java 对象
    16. User user1 = new User("gameboy","2334");
    17. User user2 = new User("steatboy","456789");
    18. List users = new ArrayList<>();
    19. users.add(user1);
    20. users.add(user2);
    21. String ListUserJson = JSON.toJSONString(users);
    22. System.out.println("List 转 json字符串是:"+ListUserJson);
    23. jsonToObject();
    24. return ListUserJson.toString();
    25. }
    26. public void jsonToObject(){
    27. String jsonStr1 = "{'password':'123456','name':'dmeget'}";
    28. User user = JSON.parseObject(jsonStr1, User.class);
    29. System.out.println("json字符串转简单java对象:"+user.toString());
    30. }
    31. }
    32. 这里使用了两个比较重要的方法:一个是把对象json化的toJsonString方法,另一个是把json对象化的parseObject。

    33. 相关阅读:
      最好用的Linux系统磁盘数据修复工具合集!
      Spring Boot中JSON的数据结构和交互讲解以及实战(超详细 附源码)
      四.pandas数据处理
      MIT 6.5840 Raft Implementation(2B, Log Replication)
      项目组合管理在金融科技领域的应用实践︱中银金融PMO负责人张伟
      个人微信管理系统都有些什么功能呢?
      前端跨页面通信的几种方式
      自学Python第二十二天- Django框架
      使用protobuf解析Onnx文件
      Python接入企业微信 - 推送信息到内部群里
    34. 原文地址:https://blog.csdn.net/m0_62943934/article/details/134540602
      • 最新文章
      • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
        SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
        不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
        Halo插件:支持GitHub的图床附件策略
        电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
        华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
        软件更好写之后口碑会更重要
        大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
        Java标签跳转:一个鲜为人知但却很实用的小技巧
        多智能体系统论文速读
      • 热门文章
      • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
        奉劝各位学弟学妹们,该打造你的技术影响力了!
        五年了,我在 CSDN 的两个一百万。
        Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
        面试官都震惊,你这网络基础可以啊!
        你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
        心情不好的时候,用 Python 画棵樱花树送给自己吧
        通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
        13 万字 C 语言从入门到精通保姆级教程2021 年版
        10行代码集2000张美女图,Python爬虫120例,再上征途
      小工具 小游戏
      Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

      京公网安备 11010502049817号