使用Fastjson、Jackson或Gson可将JSONArray转为List,需通过TypeReference或TypeToken指定泛型类型以避免类型擦除,选择库时可根据项目需求:Fastjson简单但已停更,Jackson功能强,Gson简洁易用。

将JSONArray转换为List对象是Java开发中常见的操作,特别是在处理JSON数据时。通常我们会使用第三方库如 Fastjson、Jackson 或 Gson 来完成这一过程。
使用 Fastjson 转换 JSONArray 到 List
Fastjson 是阿里巴巴开源的高性能JSON库,使用简单。
添加依赖(Maven):
com.alibaba
fastjson
1.2.83
示例代码:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.TypeReference;
import java.util.List;
// 假设你有一个 JSONArray 字符串
String json = “[{“name”:”张三”,”age”:25},{“name”:”李四”,”age”:30}]”;
// 方法1:直接转为 List
// 方法2:定义实体类 User
public class User {
private String name;
private int age;
// getter 和 setter 省略
}
// 转为 List
List userList = JSONArray.parseArray(json, new TypeReference<List>(){});
使用 Jackson 转换
添加依赖:
com.fasterxml.jackson.core
jackson-databind
2.15.2
示例代码:
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();
String json = “[{“name”:”张三”,”age”:25},{“name”:”李四”,”age”:30}]”;
List userList = mapper.readValue(json, new TypeReference<List>(){});
使用 Gson 转换
添加依赖:
com.google.code.gson
<artifactId>:gson
2.10.1
示例代码:
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
Gson gson = new Gson();
String json = “[{“name”:”张三”,”age”:25},{“name”:”李四”,”age”:30}]”;
List userList = gson.fromJson(json, new TypeToken<List>(){}.getType());
三种方式都能实现 JSONArray 到 List 的转换,选择哪个取决于项目中使用的JSON库。Fastjson 使用方便但已停止维护(建议用替代品如 Fastjson2),Jackson 功能强大适合复杂场景,Gson 简洁易用。
JSON.NET 简单的使用 中文WORD版
本文档主要讲述的是JSON.NET 简单的使用;JSON.NET使用来将.NET中的对象转换为JSON字符串(序列化),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?)。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
0 查看详情
基本上就这些,关键在于指定泛型类型,避免类型擦除问题。
以上就是jsonarray转list对象的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/870365.html
微信扫一扫
支付宝扫一扫