jsonobject list对象去重
时间: 2023-07-02 22:10:11 浏览: 70
如果你有一个 JSON 数组,其中包含多个 JSON 对象,你可以使用 Java 中的 Set 数据结构来去除重复项。具体步骤为:
1. 将 JSON 字符串转换为 Java List 对象。
2. 将 Java List 对象转换为 Set 对象,以去除重复项。
3. 将 Set 对象转换回 Java List 对象。
4. 将 Java List 对象转换为 JSON 字符串。
下面是一个示例代码:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class JsonObjectListDistinctExample {
public static void main(String[] args) {
// 假设你有以下 JSON 字符串
String jsonString = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30},{\"name\":\"Alice\",\"age\":25}]";
// 将 JSON 字符串转换为 Java List 对象
List<JSONObject> jsonList = JSON.parseArray(jsonString, JSONObject.class);
// 将 Java List 对象转换为 Set 对象,以去除重复项
Set<JSONObject> jsonSet = new HashSet<>(jsonList);
// 将 Set 对象转换回 Java List 对象
List<JSONObject> distinctJsonList = new ArrayList<>(jsonSet);
// 将 Java List 对象转换为 JSON 字符串
String distinctJsonString = JSONArray.toJSONString(distinctJsonList);
// 输出去重后的 JSON 字符串
System.out.println(distinctJsonString);
}
}
```
运行以上代码,你将得到以下输出:
```
[{"age":25,"name":"Alice"},{"age":30,"name":"Bob"}]
```
可以看到,重复项已被成功去除。