List 、JSONArray的相互转换

博客介绍了SpringMVC返回前台的数据格式,JSON和XML中JSON默认用得较多。还提及JSONObject和JSONArray区别及用法的参考链接,以及List与JSONArray可借用alibaba的fastjson进行相互转换,并给出了fastjson的介绍和下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON 是一种键值对格式,SpringMVC返回前台的数据格式为JSON或XML,JSON默认用的较多

JSONObject和JSONArray区别及基本用法参考 https://www.cnblogs.com/xuanbo/p/6913585.html

 List 、JSONArray的相互转换

借用alibaba的第三方包fastjson,可以很方便的进行转换

介绍和下载:http://www.runoob.com/w3cnote/fastjson-intro.html

                     http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.9/ 

1. List转JSONArray
List<T> list = new ArrayList<T>();
JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));


2. JSONArray转List
JSONArray array = new JSONArray();
List<EventColAttr> list = JSONObject.parseArray(array.toJSONString(), EventColAttr.class);


3. 字符串转List
String str = "";
List<T> list = JSONObject.parseArray(str,T.class);

 

### 将 `JSONArray` 转换为 `List<Map>` 对象 为了将 `JSONArray` 转换为 `List<Map<String, Object>>` 类型的对象,在 Java 中可以采用多种库来简化这一过程。以下是使用 Jackson 库的方法: #### 使用 Jackson 进行转换 Jackson 是处理 JSON 数据的强大工具之一,能够轻松地完成复杂的 JSON 和 Java 对象之间的相互化。 ```java import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonUtil { private static final ObjectMapper objectMapper = new ObjectMapper(); /** * Convert a JSONArray string into a List of Map. * * @param jsonString The input JSON array as String format. * @return A list containing maps that represent each element from the original JSON array. */ public static List<Map<String, Object>> jsonArrayStringToListOfMaps(String jsonString) { try { return objectMapper.readValue(jsonString, new TypeReference<List<Map<String, Object>>>(){}); } catch (Exception e) { throw new RuntimeException("Failed to parse JSON", e); } } } ``` 上述方法通过定义泛型类型的 `TypeReference` 来指定期望返回的数据结构——即由字符串键映射到任意对象组成的列表[^1]。 对于已经存在的 `JSONArray` 实例,则可以直接调用其 toString 方法获取对应的 JSON 字符串表示形式再进行解析: ```java // 假设已有 org.json.JSONArray 对象名为 'jsonArray' String jsonArrayAsString = jsonArray.toString(); List<Map<String, Object>> listOfMaps = JsonUtil.jsonArrayStringToListOfMaps(jsonArrayAsString); ``` 这种方法不仅适用于简单的键值对集合,也支持嵌套的复杂数据结构,只要这些结构能被正确序列化成 JSON 格式的文本即可[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值