如何在android中使用GSON解析以下JSON?

2024-01-06

As keysArray(A,B,C) 是dynamic and cores具有相同的对象名称?请帮忙 !!!

{

 "result":"success",

 "keysArray":[
     "A",
     "B",
     "C",
     "D",
     "E"
     ],

 "cores":{

    "A":[{"key":"value"}],
    "B":[{"key":"value"}],
    "C":[{"key":"value"}],
    "D":[{"key":"value"}],
    "E":[{"key":"value"}]
 }
}

我就是通过这种方式实现的。

String responseStr = //JsonResponse here
Type type = new TypeToken<GetMainResponse>() {}.getType();
GetMainResponse getMainResponse = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create().fromJson(responseStr, type);

    int size = getMainResponse.getKeysArray().size();
    for (int i = 0; i < size; i++) {
        JSONArray jCoreIngredients = new JSONObject(responseStr)
                                            .getJSONArray(getMainResponse.getKeysArray().get(i));
        String innerStr = jCoreIngredients.toString();
        Type type2 = new TypeToken<ArrayList<GetMainResponse.InnerCores>>() {}.getType();
        ArrayList<GetMainResponse.InnerCores> ingredientsInner = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create().fromJson(innerStr, type2);
    }

//And this is my POJO

public class GetMainResponse{
String result;
ArrayList<String> keysArray;
Cores cores;

public String getResult() { return result; }

public void setResult(String result) { this.result = result; }

public ArrayList<String> getKeysArray() { return keysArray; }

public void setKeysArray(ArrayList<String> keysArray) { this.keysArray = keysArray; }

public Data getCores() { return data; }

public void setCores(Cores cores) { this.cores = cores; }

public class Cores {

// No declaration and not getter setter here.

 public class InnerCores {
    String key;

    public String getKey() { return key; }

    public void setKey(String result) { this.key = key; }

 }
}

有什么建议 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在android中使用GSON解析以下JSON? 的相关文章

随机推荐

  • 如何确认 href 标签中链接的导航? [复制]

    这个问题在这里已经有答案了 我在管理面板中使用简单的链接 但如果用户意外单击链接进行用户删除 应该会弹出一个确认窗口来避免这种情况 正如您所知 href 标签可能与 javascript 不完全兼容 所以 我使用了 onclick 的spa
  • 如何缓存 Spark 数据框并在另一个脚本中引用它

    是否可以缓存数据帧 然后在另一个脚本中引用 查询 它 我的目标如下 在脚本 1 中 创建一个数据框 df 运行脚本1并缓存df 脚本2中 查询df中的数据 无法使用标准 Spark 二进制文件 火花DataFrame与具体的SQLConte
  • 获取 python 函数中使用/调用的函数列表

    是否有任何工具 库可以列出在另一个方法 函数中调用的方法 函数的列表 例如 如果该工具或库针对以下方法运行 def calculate a int b int operator Operator if operator Operator a
  • C++中的using和include有什么区别?

    我知道 include 用于类 using 用于一些内置的东西 比如命名空间 std 当你包含某些东西时 你可以创建对象并使用它们 但是当你 使用 某些东西时 你可以使用某种内置函数 但是我应该如何创建我自己可以 使用 的 库 呢 简单的说
  • Heroku Symfony 3.2 推送被拒绝,无法编译 PHP 应用程序

    我在 Heroku 上部署 symfony Web 应用程序时遇到了麻烦 而以前它工作得很好 可能出什么问题了 这是构建日志 http pastebin com DXZH110S http pastebin com DXZH110S 这是日
  • WCF服务向客户端发送数据

    是否可以在没有请求的情况下将数据从 WCF 服务发送到客户端 例如 在 WCF 中 我有循环发送数据的函数 我怎样才能实现该功能 这可以通过以下方式实现全复式合同 https msdn microsoft com en us library
  • codecov.io 与 Bitbucket 管道结合时出现错误

    我确实在 Bitbucket 上设置了一个私人存储库来托管 PHP 项目 对于这个项目 我还使用了管道集成 这是我的管道 yaml 文件的内容 image php 7 1 4 pipelines default step script in
  • python 与 c/fortran 的比较

    我编写了以下程序来比较 python 与 c fortran 的速度 为了获取程序使用的时间 我使用了 time 命令 一切 程序计算 x 的平方根x yy z z 其中 x y z 是浮点数 我使用了平方根 因为它是最耗时的部分之一 科学
  • C++:a 的 b 次幂模 k [重复]

    这个问题在这里已经有答案了 a b 模 k问题 编写一个程序来计算模 k 的 b 次幂 例如 如果要求您计算 2 6 mod 7 2 的 6 次方是 64 因此 64 模 7 是 1 输入规格您将得到 3 个整数 a b 和 k 其中 b
  • heroku db:push 显示无效的数据库 url

    我正在尝试使用以下方法将数据推送到 heroku 应用程序 heroku db push 但它吐出了这个错误 root ubuntu lappy rails soft heroku db push Invalid database url
  • MongoDB。 BadValue:使用副本集启用授权时需要 security.keyFile

    我正在尝试配置副本集Mongo in a Docker容器 我已将副本集添加到mongod conf file replication replSetName rs0 但在启动过程中我遇到了下一个异常 BadValue security k
  • 使用 ADO.NET 管理数据库连接

    我们有一个基于 ADO NET 构建的应用程序 我们遵循一些简单的最佳实践 使我们能够利用连接池 例如 使用数据库的代码块可能如下所示 using DbConnection dbConnection GetDatabaseConnectio
  • scrollOverflow 在 fullPage.js 中不起作用

    我最近开始在一个项目中使用 fullPage js 但我不知道如何让溢出滚动起作用 我的页面中的最后一个 部分 很长 因此需要垂直滚动 这是我里面的代码 tags
  • 在 JAR 中指定 JVM 堆大小

    我正在尝试编写一个游戏引擎 但它需要比默认设置更多的内存 我知道如果您双击一个 jar 则会使用默认设置 那么我是否可以指定 JAR 在其清单文件 或其他地方 中需要自定义堆大小 此外 引擎位于它自己的 jar 中 游戏位于另一个 jar
  • 在 Python 包中包含 *.pyd 文件

    我有一个 python 模块模块 pyd一旦手动将其放入 python 安装文件夹的站点包中 它就可以正常工作 当我将解决方案上传到云环境时 问题就开始了 构建包要求我将每个模块作为要安装的包传递pip install module 我创建
  • 如何覆盖Resources.Designer.cs中默认的System.Resources.ResourceManager?

    我想覆盖System Resources ResourceManager from Resources Designer cs文件来实现自定义 ResourceManager GetString 方法功能 这可能吗 我创建了一个Custom
  • 在任何其他方法调用之前自动调用方法

    我有大量的类继承大量的接口 这些类正在实现的接口不共享任何公共方法 但它们都共享一个公共的第一步 一个例子是 A类看起来像这样 class A InterfaceA GetFoo Database db PerformSetup db Th
  • python 如何打印压缩文件的百分比

    我想获取压缩文件时的百分比 例如它会打印 1 2 3 等 我不知道从哪里开始 我现在只有压缩文件的代码 该怎么做呢 Code zipPath zipfile ZipFile Files Zip pic zip w for root dirs
  • JavaScript域从子域读取cookie

    我有一个简单的问题 有没有办法通过 JavaScript 读取主域上的子域 cookie 例如 我在子域 yes something com 中设置了值为 2 的 cookie hello 之后我想在 Something com 上读取它
  • 如何在android中使用GSON解析以下JSON?

    As keysArray A B C 是dynamic and cores具有相同的对象名称 请帮忙 result success keysArray A B C D E cores A key value B key value C ke