欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 對json去重

夏志豪1年前9瀏覽0評論

Java對JSON去重是一種非常常見的需求。下面我們將討論如何使用Java進行JSON去重。

/**
* 對json數據進行去重
* @param jsonArray 需要去重的json數組
* @param key 唯一標識字段的名稱
* @return JSONArray 去重后的json數組
*/
public static JSONArray distinct(JSONArray jsonArray, String key) {
Setset = new HashSet();
JSONArray newArr = new JSONArray();
for (int i = 0; i< jsonArray.size(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
String keyValue = obj.getString(key);
if (!set.contains(keyValue)) {
set.add(keyValue);
newArr.add(obj);
}
}
return newArr;
}

以上代碼實現了針對JSON數組按照唯一標識字段進行去重。使用set保存已經添加到新的JSONArray中的元素,只將新元素添加到新的JSONArray中即可。

調用該方法只需要傳入需要去重的JSON數組和唯一標識字段名即可。例如:

JSONArray jsonArray = new JSONArray();
JSONObject obj1 = new JSONObject();
obj1.put("id", 1);
obj1.put("name", "張三");
jsonArray.add(obj1);
JSONObject obj2 = new JSONObject();
obj2.put("id", 2);
obj2.put("name", "李四");
jsonArray.add(obj2);
JSONObject obj3 = new JSONObject();
obj3.put("id", 1);
obj3.put("name", "王五");
jsonArray.add(obj3);
JSONArray newArr = distinct(jsonArray, "id");
System.out.println(newArr);

以上代碼輸出結果為:

[{"id":1,"name":"張三"},{"id":2,"name":"李四"}]

可以看到,id為1的元素被去重了。

使用Java對JSON進行去重,可以很方便地解決需要去重的問題。