java 复杂json数组去重
时间: 2023-02-11 16:07:22 浏览: 273
在 Java 中, 可以使用 Gson 库来解析 JSON 数组并去重。首先,需要将 JSON 数组解析为 Java 对象的列表。然后可以使用 Set 来去重,因为 Set 不允许重复的元素。可以将列表转换为 Set,然后将其转换回列表。
代码示例:
```
import com.google.gson.Gson;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
//JSON数组
String jsonArrayString = "[{...}, {...}, {...}, ...]";
Gson gson = new Gson();
//解析json数组
Foo[] foos = gson.fromJson(jsonArrayString, Foo[].class);
//转化为List
List<Foo> fooList = Arrays.asList(foos);
//使用LinkedHashSet去重
Set<Foo> set = new LinkedHashSet<>(fooList);
//转换回List
List<Foo> uniqueFooList = new ArrayList<>(set);
```
上面示例中 Foo 是自定义的一个类,要保证Foo类中重写了equals和hashcode 方法
请记住, 如果要将列表转换为 Set, 需要确保列表中的元素具有正确的 equals 和 hashCode 方法。
阅读全文