java [{"nickName":"丁士伟"},{"nickName":"丁士伟"},{"nickName":"丁士伟"}] json字符串去重
时间: 2024-10-22 08:02:34 浏览: 16
在处理JSON字符串时,如果需要从`[{"nickName":"丁士伟"},{"nickName":"丁士伟"},{"nickName":"丁士伟"}]`这样的数组中去除重复的`"nickName"`值,可以先将其解析为Java的对象列表,然后利用集合(如HashSet)的特性,因为HashSet不允许有重复元素,将`nickName`添加到集合中就可以自动去除重复。这里是一个简单的步骤:
1. 将JSON字符串转换为Java对象列表,假设这个对象是`User`类,它有一个`nickName`字段:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.HashSet;
class User {
String nickName;
}
String jsonString = "[{\"nickName\":\"丁士伟\"},{\"nickName\":\"丁士伟\"},{\"nickName\":\"丁士伟\"}]";
ObjectMapper mapper = new ObjectMapper();
ArrayList<User> userList = mapper.readValue(jsonString, ArrayList<User>::new);
```
2. 使用HashSet存储唯一的nickName:
```java
HashSet<String> uniqueNickNames = new HashSet<>();
for (User user : userList) {
uniqueNickNames.add(user.nickName);
}
```
3. 最后的uniqueNickNames就是要去重后的结果。
注意:这只是一个基本示例,实际操作可能会根据JSON的具体结构和使用的库有所不同。例如,如果你直接处理字符串列表,也可以用流(Stream)API来简化操作:
```java
List<String> nickNames = Arrays.stream(jsonString.split(","))
.map(User::getNickName)
.distinct()
.collect(Collectors.toList());
```
阅读全文