解决json出现“$ref“: “$.data[0].list[0]“的问题

首先,出现 r e f " : " ref": "ref":".data[0].list[0]”,就是因为遍历时出现了引用,又重复的内容。网上有很多的解决办法,但是,不一定适用,我这里做出我自己遇到的问题。

     String bind_info = TypesUtil.asString(bind.get("bindinfo"));
     JSONObject bindinfo = JSONObject.parseObject(bind_info);
     Map<String, Object> info = new HashMap<>();
      if (bindinfo != null) {
           for (Object key : bindinfo.keySet()) {
                String keyvalue = TypesUtil.asString(bindinfo.get(key));
                if (StringUtil.isNotEmpty(keyvalue)) {
                     info.put("name", TypesUtil.asString(name));
                     info.put("value", keyvalue);
                     list.add(info);   
                 }
            }
    }

看第一张图片,第三是我new map的地方,这个就是问题所在,看图2

 String bind_info = TypesUtil.asString(bind.get("bindinfo"));
     JSONObject bindinfo = JSONObject.parseObject(bind_info);
      if (bindinfo != null) {
           for (Object key : bindinfo.keySet()) {
                Map<String, Object> info = new HashMap<>();
                String keyvalue = TypesUtil.asString(bindinfo.get(key));
                if (StringUtil.isNotEmpty(keyvalue)) {
                     info.put("name", TypesUtil.asString(name));
                     info.put("value", keyvalue);
                     list.add(info);   
                 }
            }
    }

将创建map放在循环中,这样子就不会出现"r e f " : " ref": "ref":".data[0].list[0]"了


版权声明:本文为xinx98原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。