JSONArray 转map
时间: 2024-01-31 09:04:32 浏览: 89
以下是三种将JSONArray转换为Map的实现方式:
1. 使用Java 8的Stream API和Collectors.toMap()方法:
```java
JSONArray jsonArray = new JSONArray(); // 填充初始数据,此处过程省略
Map<Integer, String> map = jsonArray.stream()
.filter(Objects::nonNull)
.collect(Collectors.toMap(
object -> {
JSONObject item = (JSONObject) object;
return item.getInteger("flagType");
},
object -> {
JSONObject item = (JSONObject) object;
return item.getString("flagIcon");
}
));
```
2. 使用forEach()方法和if语句遍历JSONArray并将数据存入Map:
```java
Map<Integer, String> flagIconMap = new HashMap<>();
JSONArray jsonArray = new JSONArray(); // 填充初始数据,此处过程省略
if (jsonArray != null && !jsonArray.isEmpty()) {
jsonArray.forEach(object -> {
if (object == null) {
return;
}
JSONObject jsonObject = (JSONObject) object;
if (jsonObject.getInteger("flagType") == null) {
return;
}
flagIconMap.put(jsonObject.getInteger("flagType"), jsonObject.getString("flagIcon"));
});
}
```
3. 使用for循环遍历JSONArray并将数据存入Map:
```java
Map<Integer, String> flagIconMap = new HashMap<>();
JSONArray jsonArray = new JSONArray(); // 填充初始数据,此处过程省略
for (Object object : jsonArray) {
if (object == null) {
continue;
}
JSONObject jsonObject = (JSONObject) object;
if (jsonObject.getInteger("flagType") == null) {
continue;
}
flagIconMap.put(jsonObject.getInteger("flagType"), jsonObject.getString("flagIcon"));
}
```
阅读全文