首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >java工具:《List<User>转jsonArray》

java工具:《List<User>转jsonArray》

原创
作者头像
刘大猫
发布2026-04-21 20:32:42
发布2026-04-21 20:32:42
810
举报
文章被收录于专栏:JAVA相关JAVA相关

@toc

一、介绍

这段代码演示了使用阿里巴巴 Fastjson 库将 Java 对象列表转换为 JSONArray 的正确方法,并特别指出了常见的错误写法。

首先创建了一个包含多个 User 对象的 List 列表。代码重点展示了两种转换方式:

  • 错误写法:直接调用 list.toString() 后使用 JSONArray.parseArray() 解析,由于 List.toString() 输出格式不是标准 JSON 格式,会抛出解析异常
  • 正确写法:先通过 JSONObject.toJSONString(list) 将列表序列化为标准 JSON 字符串,再使用 JSONArray.parseArray() 解析为 JSONArray

同时注释中还提供了另一种正确方式:手动遍历列表,创建 JSONObject 并逐个添加到 JSONArray 中。

二、代码

代码语言:java
复制
@Test
public void listConverjJsonArray(){
    List<User> list = new ArrayList<>();
    list.add(new User(1, "a"));
    list.add(new User(2, "b"));
    //错误写法,因为list.toString()输出[User(id=1, name=a), User(id=2, name=b)]。这东西无法json解析,会报错:com.alibaba.fastjson.JSONException: syntax error, pos 2, line 1, column 3[User(id=1, name=a), User(id=2, name=b)]
    //        JSONArray jsonArray =JSONArray.parseArray(list.toString());
    //正确写法,简写方式
    JSONArray jsonArray =JSONArray.parseArray(JSONObject.toJSONString(list));

    //正确写法,复杂方式
    //        JSONArray jsonArray = new JSONArray();
    //        JSONObject jsonObject = null;
    //        for (User user: list) {
    //            jsonObject = new JSONObject();
    //            jsonObject.put("id", user.getId());
    //            jsonObject.put("name", user.getName());
    //            jsonArray.add(jsonObject);
    //        }
    System.out.println(jsonArray);
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、介绍
  • 二、代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档