• 使用JSONArray出现{"$ref":"$.certPicInfos[0]"}异常的解决方法


    这次做接口时,对方把图片类型和图片地址用的是数组,所有我需要用JSONArray做拼接,使用的过程中出现了{"$ref":"$.certPicInfos[0]"}异常。

    public void test3() {
    JSONObject json = new JSONObject();
    String picUrls = "1|test1.png;2|test2.png";
    JSONArray jsonArr = new JSONArray();
    String[] certPicUrls = picUrls.split(";");
    JSONObject para = new JSONObject();//出错代码
    for (String certPicUrl : certPicUrls) {
    String picKey = certPicUrl.substring(0, certPicUrl.indexOf("|"));
    String picValue = certPicUrl.substring(certPicUrl.indexOf("|") + 1, certPicUrl.length());
    para.put("certPicType", picKey);
    para.put("certPicUrl", picValue);
    jsonArr.add(para);
    }
    json.put("certPicInfos", jsonArr);
    System.out.println(json);
    }

    出错原因:JSONObject对象被引用了两次。

    解决方法:将JSONObject的创建放到循环体内

    public void test3() {

    JSONObject json = new JSONObject();
    String picUrls = "1|test1.png;2|test2.png";
    JSONArray jsonArr = new JSONArray();
    String[] certPicUrls = picUrls.split(";");
    JSONObject para = new JSONObject();
    for (String certPicUrl : certPicUrls) {

    JSONObject para = new JSONObject();//正确代码

    String picKey = certPicUrl.substring(0, certPicUrl.indexOf("|"));
    String picValue = certPicUrl.substring(certPicUrl.indexOf("|") + 1, certPicUrl.length());
    para.put("certPicType", picKey);
    para.put("certPicUrl", picValue);
    jsonArr.add(para);
    }
    json.put("certPicInfos", jsonArr);
    System.out.println(json);
    }

  • 相关阅读:
    (39)JS运动之缓冲运动
    学习hibernate笔记
    企业网络管理市场
    java实现第六届蓝桥杯打印大X
    java实现第六届蓝桥杯移动距离
    java实现第六届蓝桥杯加法变乘法
    java实现第六届蓝桥杯垒骰子
    java实现第六届蓝桥杯垒骰子
    java实现第六届蓝桥杯打印大X
    java实现第七届蓝桥杯取球博弈
  • 原文地址:https://www.cnblogs.com/lucky-girl/p/9364864.html
Copyright © 2020-2023  润新知