• 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
  • 相关阅读:
    记一次阿里云oss文件上传服务假死
    WorkPlus定制化的局域网会议软件,提供安全稳定的会议体验
    多尺度深度特征(下):多尺度特征学习才是目标检测精髓(论文免费下载)...
    C++ Tutorials: Boolean Operations
    基于springboot实现自习室预订系统的设计与实现项目【项目源码+论文说明】
    同城生活广告投放小程序源码系统 带完整搭建教程
    LeetCode第29题-两数相除-java实现-图解思路与手撕代码
    MeterSphere--开源持续测试平台
    LruCache的使用
    springboot中的@Configuration详解~
  • 原文地址:https://blog.csdn.net/weixin_41589987/article/details/126098413