将 JSON 响应转换为 List

2023-12-23

我是 GSON 的新手。我需要将以下 JSON 响应转换为列表。

JSON 响应:

{
    "data": [{
        "data": {
            "ac_id": "000",
            "user_id": "000",
            "title": "AAA"
        }
    }, {
        "data": {
            "ac_id": "000",
            "user_id": "000",
            "title": "AAA"
        }
    }]
}

我有一个类来转换数据

帐户。爪哇

public class Account {

     public int ac_id;
     public int user_id;
     public String title;

    @Override
    public String toString(){
         return "Account{"+
         "ac_id="+ac_id+
         ", user_id="+user_id+
         ", title="+title+'}';

    }

}

当我在课堂上做出回应时,我得到:

[Account{ac_id="000", user_id="000", title="AAA"}, Account{ac_id="000", user_id="000", title="AAA"}]

现在我需要将这两个值放入List<Account>.
你有什么建议?


JSONObject data = new JSONObject(response);
JSONArray accounts = data.getJSONArray("data");    
List<Account> accountList = new Gson().fromJson(accounts.toString(), new TypeToken<ArrayList<Account>>(){}.getType());

如果您无法更改 JSON 响应以删除内部“data”键,您可以使用以下命令:

Gson gson = new Gson();
ArrayList<Account> accountList = new ArrayList<Account>();
JSONArray accounts = data.getJSONArray("data");  
for (int i = 0; i < accounts.length(); i++) {
  JSONObject a = accounts.getJSONObject(i).getJSONObject("data");
  accountList.add(gson.fromJson(a.toString(), Account.class));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JSON 响应转换为 List 的相关文章

随机推荐

  • 调整目录中图像的大小

    我有一个充满图像的目录 我想将其大小调整到原始大小的 60 左右 我该怎么做呢 可以是 Python 或 Perl Cheers Eef 如果您想以编程方式执行此操作 我认为是这种情况 请使用 PIL 来调整大小 例如 newIm im r
  • 使用 Python 填充 CSV 中的空位

    我正在解析 csv 文件来创建图表 我能够毫无问题地执行此操作 除非在单个情况下 每当 csv 文件中存在空槽时 例如 科尔1 科尔2 科尔3 科尔4 科尔545 34 23 98 1866 25 018 52 56 100 文件中的第 2
  • 如何在MinGW中使用Windows API?

    如何使用视窗应用程序接口 http en wikipedia org wiki Windows API in MinGW http en wikipedia org wiki MinGW 每当我这样做的时候 我只是 include
  • 日语和中文中 unicode 代码点的不同表示

    我正在尝试显示与 unicode 0x95E8 对应的字形 该代码点基本上是 CJK 块 中文 日语 韩语 我很难知道这个特定代码点的字形表示对于日语和中文是否可能不同 当我在 JTextArea 中显示 U 95E8 时 我能够在 lin
  • 调整横向内容 UITableviewcell 的大小

    我正在 iPhone SDK 中开发一个应用程序 我想在设备处于横向模式时调整 tableviewcell 的内容大小 在我的 tableviewcell 中 我有一个同步图像和两个标签 在纵向模式下 它看起来非常漂亮 但是当我将设备转向横
  • 如何创建工作区

    我们如何在 Visual Studio Code 中创建工作区 I see File菜单命令用于打开 添加文件夹和保存工作区 但没有用于创建工作区的命令 问题如何在 Visual Studio Code 中创建工作区 https stack
  • GCP 负载均衡器后端状态未知

    我惊呆了 我有一个暂存和生产环境 两种环境具有相同的部署 服务 入口 防火墙规则 并且都服务于200 on 但是 在打开登台环境并配置相同的入口后 登台服务失败并显示Some backend services are in UNKNOWN
  • 无法使用 pg_dump 将表复制到另一个数据库

    我正在尝试将表从一个数据库复制到另一个数据库 不是架构 我在终端中使用的代码如下 pg dump U postgres t OldSchema TableToCopy OldDatabase psql U postgres d NewDat
  • mac 找不到捆绑命令

    我正在使用 ruby 我得到了一个包含一些 ruby 程序的 zip 文件 它说 在文件夹内 运行bundle install安装所需的软件包 当我在终端中运行命令时 它说bundle command not found 有人可以给我详细说
  • 如何将字符串拆分为单词列表?

    如何拆分句子并将每个单词存储在列表中 例如 these are words these are words To split on other delimiters see Split a string by a delimiter in
  • Django - 连续发送输出

    我想开始从 django 视图处理一些文件 并且希望能够在处理文件时将文件名发送到浏览器 有没有办法 简单地 做到这一点 我可能可以使用线程和 ajax 调用来做到这一点 但我现在想要最简单的解决方案 我在一个中找到了我需要的东西answe
  • 在 SceneKit 中,bake 做了什么

    What is the purpose of bake option in SceneKit editor Does it have an impact on performance Type 提供 2 个选项 Ambient Occlus
  • Firebase实时数据库(根据UID获取其他用户信息)与REST

    我有一个使用 Firebase 实时数据库创建的应用程序 并且创建了一些用户 所有用户都使用此处找到的 REST 方法 https firebase google com docs reference rest auth https fir
  • Apache 每个请求都会生成一个线程,而 Node.js 不会,这是什么意思?

    我读过有关node js 和其他服务器 例如Apache 的信息 它们的线程是不同的 我根本不明白线程是什么意思 如果我有一个运行 SQL 来访问数据库的网页 例如一个服务器端页面中的三个不同数据库 这对于 Node js 中的线程意味着什
  • 如何使 DateTimePicker 显示空字符串?

    我希望能够显示一个DateTimePicker它的默认值是空的 即没有日期 例如 我有一个开始日期dtTaskStart和结束日期dtTaskEnd对于任务 但结束日期未知 并且最初未填充 我已经指定了自定义格式yyyy MM dd对于两个
  • 有没有任何工具或技术可以识别打开的结果集

    在 java 应用程序的上下文中使用SQLIte http www sqlite org 为了保存数据 我正在使用Zentus http www zentus com sqlitejdbc JDBC 驱动程序 因此我正在使用java sql
  • 在另一个项目中使用 GKE 中的 Google 容器注册表

    GKE 集群如何从另一个项目托管的容器注册表中提取容器映像 我的项目中有一个 GKE 集群
  • 在 UITableView 中加载图像 url swift 2 的最佳方法

    我想使用 swift 2 创建一个带有图像链接列表的 Ui TableView 例如 var images link1 link2 linkN 我创建一个自定义单元格来显示图像 let cell tableView dequeueReusa
  • 用于在 S3 事件上触发 Lambda 的 Cloudformation 模板

    我想使用 Cloudformation 创建一个 S3 存储桶 每当发生 S3 事件 例如文件创建 文件删除等 时 该存储桶就会触发 Lambda 函数 根据我的研究 我有我的AWS Lambda 函数 http docs aws amaz
  • 将 JSON 响应转换为 List

    我是 GSON 的新手 我需要将以下 JSON 响应转换为列表 JSON 响应 data data ac id 000 user id 000 title AAA data ac id 000 user id 000 title AAA 我