首先,出现 “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版权协议,转载请附上原文出处链接和本声明。