• JSON对象、字符串之间的相互转换


    JSON对象、字符串之间的相互转换

    说明:此处的转换是基于fastjson 的

    一、准备工作

    添加依赖

            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>fastjsonartifactId>
                <version>1.2.75version>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、转换方法介绍

    1. JSON字符串转JSON对象

    		// JSON 字符串
            String jsonStr = "{\"code\":0,\"msg\":\"success\",\"data\":3}";
    		// 转json对象
            JSONObject jsonObject = JSON.parseObject(jsonStr);
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2. JSON对象转JSON字符串

            JSONObject jsonObject = new JSONObject();
    		// 转成字符串
            String jsonStr = jsonObject.toJSONString();
    
    • 1
    • 2
    • 3

    3. 字符串数组转JSONArray对象

            String jsonStrArr = "[{\"code\":0,\"msg\":\"success\",\"data\":3},{\"code\":0,\"msg\":\"success\",\"data\":3}]";
            // json字符串数组--> JSONArray
            JSONArray jsonArray = JSON.parseArray(jsonStrArr);
            // 遍历JSONArray
            for (Object o : jsonArray) {
                JSONObject jsonObject = (JSONObject) o;
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    【注】:字符串数组类型不可直接转JSONObject,不然会报错。

    4. JSONArray转字符串

    JSONArray jsonArray = new JSONArray();
    String strArr = jsonArray.toJSONString();
    
    • 1
    • 2

    5. JSON字符串与java对象之间的转换

    • 字符串 转 Java对象

      public class ReponseObj {
          int code;
          String msg;
          String data;
      }
      
      String jsonStr = "{\"code\":0,\"msg\":\"success\",\"data\":\"3\"}";
      // 方法1
      ReponseObj reponseObj = JSON.parseObject(jsonStr,ReponseObj.class);
      // 方法2 (推荐)
      // JSON字符串与JavaBean之间的转换建议使用TypeReference
      ReponseObj reponseObj = JSON.parseObject(jsonStr, new TypeReference<ReponseObj>(){});
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    • Java 对象 转 JSON字符串

      ReponseObj reponseObj = new ReponseObj();
      String jsonStr = JSON.toJSONString(reponseObj);
      
      • 1
      • 2
    • 字符串数组 转 Java对象

       String jsonStrArr = "[{\"code\":0,\"msg\":\"success\",\"data\":\"3\"},{\"code\":0,\"msg\":\"success\",\"data\":\"3\"}]";
       ArrayList<ReponseObj> list = JSON.parseObject(jsonStr, new TypeReference<ArrayList<ReponseObj>>(){});
      
      • 1
      • 2

    6. Java 对象与JSON对象之间的相互转换

    • java 对象 转 json对象

      String jsonStr = JSON.toJSONString(reponseObj);
      JSONObject jsonObj = JSON.parseObject(jsonStr);
      
      • 1
      • 2
    • json对象 转 Java对象

      // 方法1 先转换为json字符串,再使用parseObject
      String jsonStr = jsonObj.toJSONString();
      ReponseObj reponseObj = JSON.parseObject(jsonStr,new TypeReference<ReponseObj>() {});
      // 方法2 直接使用toJavaObject
      Student stu = JSON.toJavaObject(jsonObj, ReponseObj.class);
      
      • 1
      • 2
      • 3
      • 4
      • 5
  • 相关阅读:
    2.1-梯度下降
    Node.js 是怎么找到模块的?
    2021年MathorCup数学建模A题自动驾驶中的车辆调头问题全过程解题论文及程序
    关于linux 下启动脚本那些事
    Wireshark数据抓包分析之互联网控制报文协议
    RabbitMQ(高级特性)设置单条消息存活时间
    软信天成:干货分享,如何实施云迁移策略!
    PaDiM 原理与代码解析
    js详细讲解放大镜的实现
    HashMap遍历之EntrySet————小练习
  • 原文地址:https://blog.csdn.net/weixin_41589987/article/details/126098413