JSON字符串转MAP,过滤NULL
时间: 2024-09-30 11:03:41 浏览: 37
JSON字符串转换成Map通常是在处理Web服务返回的数据时常见的操作,特别是在使用Java等语言时。首先,你需要将JSON字符串解析为一个JSONObject或JSONArray对象。对于JSONObject,你可以通过键值对的形式将其转化为Map,例如:
```java
import org.json.JSONObject;
import java.util.Map;
public Map<String, Object> jsonToMap(String jsonString) {
JSONObject jsonObject = new JSONObject(jsonString);
return jsonObject.toMap();
}
```
如果你想过滤掉null值,可以遍历map并添加条件检查:
```java
Map<String, Object> filteredMap = new HashMap<>();
for (Map.Entry<String, Object> entry : jsonObject.toMap().entrySet()) {
if (entry.getValue() != null) {
filteredMap.put(entry.getKey(), entry.getValue());
}
}
```
对于JSONArray,可以先转换为List再逐个元素处理。
```java
JSONArray jsonArray = new JSONArray(jsonString);
List<Map<String, Object>> list = jsonArray.toList(Map.class);
List<Map<String, Object>> filteredList = list.stream()
.filter(map -> !map.values().contains(null))
.collect(Collectors.toList());
```
阅读全文