如何使用volley库解析android中的嵌套json数组

2024-02-02

我以下面的格式嵌套了 json 数组。我正在使用 volley 库进行 JSON 解析。

{
"City": [{
        "name": "Mumbai",
        "Mumbai": [{
            "area": "andheri",

            "diler": [{
                "DName": "yuvraj"
            }]
        }, {
            "area": "jogeshwari"
        }, {
            "area": "goregaon"
        }]
    },

    {

        "name": "Nashik",
        "Nashik": [{
            "area": "clg rd",
            "diler": [{
                "DName": "yuvraj"
            }]
        }, {
            "area": "GP RD",
            "diler": [{
                "DName": "Roshan"
            }]
        }, {
            "area": "CBS",
            "diler": [{
                "DName": "Deepak"
            }]
        }]

    }, {
        "name": "Bengaluru"
    }
]}

下面是我在android中编写的代码。

   jsonURL = "http://192.168.1.11/cycle_webservices/testing.json";

    buttonReq.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(
                    jsonURL,
                    new Response.Listener<JSONArray>() {
                        @Override
                        public void onResponse(JSONArray response) {
                            try {
                                for (int i = 0; i < response.length(); i++) {
                                    JSONObject jsonObject = response.getJSONObject(i);
                                    String name = jsonObject.getString("name");
                                    String area = jsonObject.getString("area");
                                    String diler = jsonObject.getString("diler");

                                    textView.append("\nCity: " + name + "\nArea: " + area + "\nDealer: " + diler +   "\n");
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                                Toast.makeText(getApplicationContext(), "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
                            }
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Log.e("VOLLEY", "ERROR");
                            Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
                        }
                    }
            );
            requestQueue.add(jsonArrayRequest);
        }
    });

但我在 Android 中解析它时遇到错误。 错误是 - JSONObject 无法转换为 JSONArray

谁能提供示例代码来解析这个 json 数组。

提前致谢


这是您的问题解决方案,使用下面的代码

 try {
        JSONObject jsonObject = new JSONObject("response");
        JSONArray jsonArray = jsonObject.getJSONArray("City");
        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject object = jsonArray.getJSONObject(i);
            String name = object.getString("name");
            if (object.length() != 0) {
                Iterator<String> key = object.keys();
                while (key.hasNext()) {
                    String cityname = key.next();
                    JSONArray ja = object.getJSONArray(cityname);
                    for (int j = 0; j < ja.length(); j++) {
                        JSONObject object1 = ja.getJSONObject(j);
                        String area = object1.getString("area");

                    }
                }
            }

        }
    } catch (Exception e) {
        e.printStackTrace();
    }

并尝试使您的 JSON 格式相同。

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

如何使用volley库解析android中的嵌套json数组 的相关文章

  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

    运行我的 recyclerview 列表片段时出现此错误 java lang NullPointerException Attempt to invoke virtual method java lang Object android su
  • Firebase 数据库快速入门处理计数的方式安全吗?

    我想为文章点赞创建一个增量字段 我指的是这个链接 https firebase google com docs database android save data save data as transactions https fireb
  • 使用 android AudioTrack 在左或右扬声器中播放声音

    我正在应用程序中的 AudioTrack 的帮助下播放声音 但我想在特定扬声器 耳朵中播放声音 即左扬声器或右扬声器或两个扬声器 以下代码是我用来播放声音的 private AudioTrack generateTone double fr
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • FileNotFoundException:/存储/模拟/0/Android

    我尝试这个文件写入器 读取器代码段进行测试 File file new File Environment getExternalStorageDirectory LM lm lisdat 01 txt FileOutputStream ou
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • Android:应用内计费V3超时返回哪个响应码?

    出现网络超时情况时 Google Play 应用内结算服务 ice er V3 将返回哪些响应状态代码 它的所有功能都是统一的吗 我将在这里描述我的发现 我通过拔掉主机插头 在安装了全功能 GP GP Store V3 10 10 GP S
  • 尝试在模拟器上安装第二个 flutter 应用程序时出错

    我创建了一个简单的 flutter 应用程序并在 android 模拟器上运行它 效果还不错 现在我创建了另一个 当我尝试在模拟器上运行它时 我得到 Error ADB exited with exit code 1 adb failed
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 以编程方式将 TextView 添加到主屏幕小部件

    我想以编程方式将文本视图控件添加到我的主屏幕小部件 在下面的示例中 我使用 TextView 填充 Linearlayout 但是这里应该如何使用 RemoteView 它只接受 xml 资源布局作为参数 public class MyWi
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • Hive:如何分解嵌入 CSV 文件中的 JSON 列?

    从 CSV 文件 带有标题和管道分隔符 中 我得到了以下两个内容 其中包含一个 JSON 列 内部有一个集合 如下所示 第一种情况 使用没有名称的 JSON 集合 ProductId IngestTime ProductOrders 918
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • Android 自定义警报对话框中的 OnClickListener

    我是一个自学成才的初学者 感谢耐心 谢谢 在 Eclipse 中 我使用自己的 xml 文件 custom dialog 创建了一个自定义警报对话框 称为 usernamealert 如果用户尚未输入用户名 即 username lengt

随机推荐

  • 来自plotly的三元图

    在此输入图像描述 https i stack imgur com lyUJu png 我想在三元图中添加线条 水平 垂直 以突出显示某些部分 可以帮我吗 三元图 代码如下 fig px scatter ternary df a df a b
  • 根据 big-o 表示法进行评级的算法是否会受到并行性的影响?

    我刚刚读了一篇关于矩阵乘法突破的文章 O n 2 373 的算法 但我猜矩阵乘法是可以并行化的 那么 如果我们开始生产千核处理器 这会变得无关紧要吗 事情会发生怎样的变化 并行执行不会改变特定算法的复杂性的基本原理 充其量 您只是花费一些给
  • 验证模型属性 WCF Web APi

    我有一组使用 WCF Web Api 托管的服务 我需要做的是验证应用程序模型内的属性 例如 在 MVC 3 中 我像这样装饰模型中的属性 StringLength 30 public string UserName get set 然后在
  • 如何计算SQL中不同项目的数量

    数据库结构 Clubs ID ClubName Teams ID TeamName ClubID Players ID Name Registrations PlayerID TeamID Start date End date Seaso
  • 计算 GPU 上的彩色像素 - 理论

    我有一张 128 x 128 像素的图像 它被分解为 8 x 8 的网格 每个网格块包含 16 x 16 像素 要求 我想计算我的图像包含多少个黑色像素 直接的方法 I could通过逐行 逐列检查整个图像并检查像素是否为黑色来实现此目的
  • 如何编译 ast.Expr?

    import ast code 1 1 expr ast parse code body 0 print type expr compile ast Expression expr string eval gets me class ast
  • Rails + Amazon RDS:延迟问题

    我有一个应用程序 其数据库正在迁移到亚马逊RDS 由于 RDS 和我们的服务器之间的查询延迟 例如仅由于查询而导致加载时间长达 30 秒 我的性能显着下降 没有显式缓存 并且请求可以进一步优化 但这仍然比本地数据库慢 10 倍以上 这种业绩
  • 使用 gorilla/mux URL 参数的函数的单元测试

    TLDR gorilla mux 过去不提供设置 URL 变量的可能性 现在确实如此 这就是为什么第二高得票数的答案在很长一段时间内都是正确的答案 原始问题如下 这就是我想做的 main go package main import fmt
  • html - 像链接一样的表格行

    我无法将表格行设置为某些内容的链接 我只能使用 css 和 html 我尝试了从 div in row 到其他东西的不同操作 但仍然无法使其工作 您有两种方法可以做到这一点 使用 JavaScript tr 使用锚点 tr td a hre
  • C++ 中线程的简单示例

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 有人可以发布一个在 C 中启动两个 面向对象 线程的简单示例吗 我正在寻找实际的 C 线
  • 如何为tomcat maven插件添加存储库

    如何包含找到的 tomcat maven 插件的存储库here http tomcat apache org maven plugin 2 0 SNAPSHOT source repository html 我在中央 Maven 存储库中找
  • 将 JSON 反序列化为 Java 枚举

    我在 Android 上的 Java 中有以下枚举 我希望能够将传入的 JSON 字符串 对象中的整数反序列化为该枚举类型 我在 Jackson 和 GSON 上受到了关注 但在我正在使用的 JSON org 包上没有得到任何关注 有没有简
  • FParsec 在可选解析器上失败

    我目前正在学习 FParsec 库 但遇到了一个问题 当我想解析一个可选字符串并随后继续正常解析时 FParsec 将在可选解析器上返回致命错误 而不是返回None正如我所期望的 下面的工作代码示例说明了我的观点 open System o
  • Apache Beam:如何同时创建许多经历相同 PTransform 的 PCollection?

    提前致谢 问题 我在谷歌云上有很多文件 对于每个文件我都必须 获取文件 对每个文件进行一系列 Google Cloud Storage API 调用以对其进行索引 例如 name blob name size blob size unzip
  • Ant 构建失败,没有可见错误

    编辑 我最终在 Eclipse 中设置了整个项目并能够构建它 我不确定为什么会出现这个问题 希望我永远不需要找出答案 我遇到一个问题 我的构建报告 构建失败 但没有报告任何错误 我正在构建一个包含大量旧代码的大型应用程序 现在我很乐意修改这
  • select * 的使用是否合理?

    我一直向我的开发人员宣讲SELECT 是邪恶的 应该像瘟疫一样避免 有没有什么情况可以证明它是合理的 我不是在谈论COUNT 大多数优化器都能弄清楚 Edit 我说的是生产代码 我看到的关于这种不良做法的一个很好的例子是一个遗留的 asp
  • 我们可以通过jmeter.bat和ApacheJMeter.jar打开JMeter。有什么不同?

    我们可以通过以下方式打开JMeterjmeter bat and ApacheJMeter jar 它们之间有什么区别 ApacheJMeter jar 文件是一个可执行 jar 因此如果它与 java 应用程序关联 则可以通过在 wind
  • 当组合框获得焦点时展开组合框及其项目

    每当组合框获得焦点时 我想扩展组合框的高度 我使用以下代码来扩展组合框的高度
  • 如何在Windows上安装PyQt5?

    当我尝试使用命令在 Windows 上安装 PyQt5 时 python configure py 我收到此错误 Error Make sure you have a working Qt qmake on your PATH 我从 得到了
  • 如何使用volley库解析android中的嵌套json数组

    我以下面的格式嵌套了 json 数组 我正在使用 volley 库进行 JSON 解析 City name Mumbai Mumbai area andheri diler DName yuvraj area jogeshwari area