jsonarray转map集合
时间: 2023-08-19 14:09:45 浏览: 204
可以使用以下代码将一个 JSON 数组转换为 Map 集合:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String jsonArray = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
// 使用 Gson 将 JSON 数组转换为 List<Map<String, Object>>
Type type = new TypeToken<List<Map<String, Object>>>(){}.getType();
List<Map<String, Object>> list = new Gson().fromJson(jsonArray, type);
// 将 List<Map<String, Object>> 转换为 Map<String, Object>
Map<String, Object> map = listToMap(list);
// 输出转换后的 Map
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
private static Map<String, Object> listToMap(List<Map<String, Object>> list) {
Map<String, Object> map = new HashMap<>();
for (Map<String, Object> item : list) {
for (Map.Entry<String, Object> entry : item.entrySet()) {
map.put(entry.getKey(), entry.getValue());
}
}
return map;
}
}
```
上述代码使用了 Google 的 Gson 库来解析 JSON 字符串,并通过反射机制将 List<Map<String, Object>> 转换为 Map<String, Object>。请确保在项目中添加了 Gson 库的依赖。
阅读全文