码农知识堂 - 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. 相关阅读:
      [oeasy]python0012_字符_character_chr函数_根据序号得到字符
      PPIO边缘云聚焦音视频底层技术,探索元宇宙“登月工程”
      windows下安装部署 hadoop
      50道Redis面试题史上最全,以后面试再也不怕问Redis了
      [Unity][VR]Oculus透视开发图文教程1-Passthrough应用XR项目设置
      C++中的类详解
      七夕了,谁说我们程序员不懂浪漫!!!
      hyper-v虚拟机的基本使用
      新型PC模拟器外挂肆虐,游戏安全攻防再升级
      Open3D 生成空间圆点云
    34. 原文地址:https://blog.csdn.net/m0_62943934/article/details/134540602
      • 最新文章
      • 攻防演习之三天拿下官网站群
        数据安全治理学习——前期安全规划和安全管理体系建设
        企业安全 | 企业内一次钓鱼演练准备过程
        内网渗透测试 | Kerberos协议及其部分攻击手法
        0day的产生 | 不懂代码的"代码审计"
        安装scrcpy-client模块av模块异常,环境问题解决方案
        leetcode hot100【LeetCode 279. 完全平方数】java实现
        OpenWrt下安装Mosquitto
        AnatoMask论文汇总
        【AI日记】24.11.01 LangChain、openai api和github copilot
      • 热门文章
      • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
        奉劝各位学弟学妹们,该打造你的技术影响力了!
        五年了,我在 CSDN 的两个一百万。
        Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
        面试官都震惊,你这网络基础可以啊!
        你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
        心情不好的时候,用 Python 画棵樱花树送给自己吧
        通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
        13 万字 C 语言从入门到精通保姆级教程2021 年版
        10行代码集2000张美女图,Python爬虫120例,再上征途
      Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
      正则表达式工具 cron表达式工具 密码生成工具

      京公网安备 11010502049817号