json对比

作者: 李多多 日期: 2019-03-14

json对比

笔记:

	// 对比json
public String jsonContrastJson(String json1, String json2) throws Exception {
Map<String, Integer> map1 = jsonStringMap(json1);
Map<String, Integer> map2 = jsonStringMap(json2);
Iterator<Map.Entry<String, Integer>> entries2 = map2.entrySet().iterator();
if (map1.size() != 0) {
while (entries2.hasNext()) {
Map.Entry<String, Integer> entry = entries2.next();
if (map1.containsKey(entry.getKey())) {
int n = map1.get(entry.getKey());
map1.put(entry.getKey(), n + entry.getValue());
} else {
map1.put(entry.getKey(), entry.getValue());
}
}
} else {
return json2;
}
Gson gson = new Gson();
String json = gson.toJson(map1);
return "[" + json + "]";
}

public Map<String, Integer> jsonStringMap(String rsContent) throws Exception {
JSONArray arry = JSONArray.fromObject(rsContent);
Map<String, Integer> map = new HashMap<String, Integer>();
for (int i = 0; i < arry.size(); i++) {
JSONObject jsonObject = arry.getJSONObject(i);
for (Iterator<?> iter = jsonObject.keys(); iter.hasNext();) {
String key = (String) iter.next();
int value = Integer.parseInt(jsonObject.get(key).toString());
System.out.println(key + "*********" + value);
map.put(key, value);
}
}
return map;
}