json数组转map
时间: 2023-11-09 16:02:16 浏览: 144
可以使用Java 8的Stream API将JSON数组转换为Map。假设JSON数组中的每个元素都是一个JSON对象,其中包含键和值字段。以下是一个示例代码:
```java
import java.util.Map;
import java.util.stream.Collectors;
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonArrayToMap {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray("[{\"key1\":\"value1\"},{\"key2\":\"value2\"}]");
Map<String, String> map = jsonArray.toList().stream()
.map(obj -> (JSONObject) obj)
.collect(Collectors.toMap(
obj -> obj.getString("key"),
obj -> obj.getString("value")
));
System.out.println(map);
}
}
```
在这个例子中,我们首先将JSON数组转换为Java List对象,然后使用Stream API将其转换为Map对象。我们使用JSONObject类将每个元素转换为JSON对象,并使用Collectors.toMap()方法将其转换为Map对象。在toMap()方法中,我们指定键和值的提取函数,这里假设每个JSON对象都有"key"和"value"字段。
阅读全文