有什么函数可以把com.alibaba.fastjson.JSONArray强行转成List<Map<String, String>>
时间: 2023-11-11 18:58:14 浏览: 103
Java常用的强转类型,基本数据类型转换,JSONObject强转Map,JSONArray强转List(附源码)
可以使用以下代码将com.alibaba.fastjson.JSONArray强制转换为List<Map<String, String>>:
```java
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
public class JsonUtil {
public static List<Map<String, String>> jsonArrayToList(JSONArray jsonArray) {
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 (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
map.put(key, value.toString());
}
list.add(map);
}
return list;
}
}
```
使用示例:
```java
JSONArray jsonArray = JSONArray.parseArray("[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":20}]");
List<Map<String, String>> list = JsonUtil.jsonArrayToList(jsonArray);
System.out.println(list);
```
输出结果:
```
[{name=张三, age=18}, {name=李四, age=20}]
```
注意:这种强制转换可能会导致类型转换异常,因此在使用时需要保证JSONArray中的每个元素都是JSONObject类型,并且JSONObject中的每个value都是String类型。
阅读全文