string类型的jsonarray转list
时间: 2023-11-14 12:05:51 浏览: 127
有多种方法可以将字符串形式的JsonArray转换为List。其中一种方法是使用JSON库将字符串解析为JSONArray对象,然后遍历JSONArray,将每个元素转换为Map<String, String>对象,最后将所有Map对象添加到List中。另一种方法是使用JSON库将字符串解析为JSONArray对象,然后利用Java 8的Stream API和lambda表达式将每个元素转换为Map<String, String>对象,并收集到List中。
以下是将字符串形式的JsonArray转换为List<Map<String, String>>的两种方法示例:
方法一:
```
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
String jsonArrayString = "[{\"key1\":\"value1\"},{\"key2\":\"value2\"}]";
JSONArray jsonArray = JSON.parseArray(jsonArrayString);
List<Map<String, String>> list = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Map<String, String> map = new HashMap<>();
for (String key : jsonObject.keySet()) {
map.put(key, jsonObject.getString(key));
}
list.add(map);
}
```
方法二:
```
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
String jsonArrayString = "[{\"key1\":\"value1\"},{\"key2\":\"value2\"}]";
JSONArray jsonArray = JSON.parseArray(jsonArrayString);
List<Map<String, String>> list = jsonArray.stream().map(json -> {
JSONObject jsonObject = (JSONObject) json;
Map<String, String> map = new HashMap<>();
for (String key : jsonObject.keySet()) {
map.put(key, jsonObject.getString(key));
}
return map;
}).collect(Collectors.toList());
```
其他
阅读全文