JSON 解析为 Java - Android 应用程序

2024-06-26

我需要在 Java Android 应用程序中解析 json 字符串的帮助。

JSON 文件的文本:

{"data":{"columns":["location_id","name","description","latitude","longitude","error","type","type_id","icon_media_id","item_qty","hidden","force_view"],"rows":[[2,"Editor","",43.076014654537,-89.399642451567,25,"Npc",1,0,1,"0","0"],[3,"Dow Recruiter","",43.07550842555,-89.399381822662,25,"Npc",2,0,1,"0","0"] [4,"Protestor","",43.074933,-89.400438,25,"Npc",3,0,1,"0","0"],[5,"State Legislator","",43.074868061524,-89.402136196317,25,"Npc",4,0,1,"0","0"],[6,"Marchers Bascom","",43.075296413877,-89.403374183615,25,"Node",22,0,1,"0","0"] [7,"Mary","",43.074997865584,-89.404967573966,25,"Npc",7,0,1,"0","0"]]},"returnCode":0,"returnCodeDescription":null}

如何获取值:location_id、名称、纬度、经度。 谢谢,迈克尔。


使用手动解析,您可以像这样实现它:

            JSONArray  pages     =  new JSONArray(jsonString);
            for (int i = 0; i < pages.length(); ++i) {
                JSONObject rec = pages.getJSONObject(i);
                JSONObject jsonPage =rec.getJSONObject("page");
                String address = jsonPage.getString("url");
                String name = jsonPage.getString("name");
                String status =  jsonPage.getString("status");
}

在您的情况下,请注意您的外部元素数据是 JSONObject 类型,然后您有一个 JSONArray

我的 json 文件:

[{"page":{"created_at":"2011-07-04T12:01:00Z","id":1,"name":"Unknown Page","ping_at":"2011-07-04T12:06:00Z","status":"up","updated_at":"2011-07-04T12:01:00Z","url":"http://www.iana.org/domains/example/","user_id":2}},{"page":{"created_at":"2011-07-04T12:01:03Z","id":3,"name":"Down Page","ping_at":"2011-07-04T12:06:03Z","status":"up","updated_at":"2011-07-04T12:01:03Z","url":"http://www.iana.org/domains/example/","user_id":2}}] 

请注意,我的从 [ 开始,这意味着一个数组,但你的从 { 开始,然后里面有 [ 数组。如果您使用调试器运行它,您可以准确地看到 json 对象内部的内容。

还有更好的方法,例如:

  1. Jackson http://wiki.fasterxml.com/JacksonInFiveMinutes
  2. 杰克逊-JR https://github.com/FasterXML/jackson-jr(轻量级杰克逊)
  3. GSON https://sites.google.com/site/gson/gson-user-guide

所有这些都可用于将 Java 对象转换为其 JSON 表示形式。它还可用于将 JSON 字符串转换为等效的 Java 对象。

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

JSON 解析为 Java - Android 应用程序 的相关文章

随机推荐

  • Flask 从线程中删除会话变量

    我尝试实施投票系统 它的工作原理是这样的 如果用户对帖子进行投票 我会在会话变量中记录其临时状态 已投票 已加星标等 如果当前用户在我将结果保存到临时表之前尚未投票 用户可以在 5 分钟内更改投票 5 分钟后 结果将使用线程永久写入数据库
  • PopupWindow 在 Android API 28 的自定义键盘上被剪切

    我做了一个定制键盘 当您长按某个键时 会出现PopupWindow在按键上方显示一些额外的选项 问题在于 在 API 28 中 此弹出窗口被剪切 甚至顶行完全隐藏 我已经为 API with https stackoverflow com
  • 流星与承诺

    我一直在尝试养成使用 Promise 的习惯 但在尝试在 Meteor 上下文中的服务器端代码中使用它们时遇到了问题 这就是问题 if Meteor isServer Meteor startup function code to run
  • 在数据库中存储用户电子邮件地址的最佳和最安全的方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 出于安全原因 在将用户电子邮件放入数据库之前是否值得对其进行加密 我知道我们对密码进行哈希和加盐 但那是另一个故事 因为我们并不真正需要密码原件
  • 导入错误:无法导入名称 DependencyWarning

    我正在使用 python 2 7 12 当我做import requests 我看到下面的错误 尝试卸载和安装 requests 也升级 pip 但没有运气 仍然是同样的问题 Python 2 7 12 default Nov 19 201
  • 外围 BLE 设备的唯一标识符

    所以我有外围设备BLE设备 我需要一些标识符以便稍后与另一部 iPhone 共享 我连接的示例iPhone A 为外围设备 iPhone A 将外围设备的标识符保存到数据库中 稍后我可以轻松获取iPhone B 并连接到通过该标识符找到的外
  • MySQL 命令输出在命令行客户端中太宽[重复]

    这个问题在这里已经有答案了 我在用mysql终端模拟器中的命令行客户端lxterminal在Ubuntu中 当我运行以下命令时 mysql gt select from routines where routine name simplep
  • .so 文件的 objdump?需要帮助来理解消息

    我正在开发一个与流相关的本机应用程序 我在我的 c 模块中遇到了一些问题 我收到的是来自 Logcat 的一些消息 这是 Logcat 消息 INFO DEBUG 28 Build fingerprint generic sdk gener
  • 如何将 List 转换为 List

    我有一个记录类来解析来自 Firestore 的对象 我的课程的精简版本如下所示 class BusinessRecord BusinessRecord fromMap Map
  • 如何将包含所有嵌套数据的Firebase文档移动到其他集合?

    我想将特定文档及其所有嵌套集合从一个集合移动到另一个集合 是否可以 db collection codes doc specificDoc setLocation db collection archive 或者类似的东西 Firestor
  • 如何从双 SIM 卡设备获取两个电话号码?

    我知道如何获取用户的电话号码 但假设用户的手机是双 SIM 卡 有什么办法可以得到两个电话号码吗 目前我只能获取有效的电话号码 如果电话号码确实存储在SIM卡中 那么您可以使用subscriptionmanager API https de
  • 使用java连接到VPN后面的http服务器

    我想通过 VPN 连接到 REST Web 服务 Java 有没有办法在不使用操作系统功能的情况下建立到 VPN 网关的 pptp l2tp ipsec 连接和 HTTP 请求隧道 这很重要 因为我将从 servlet 连接到多个休息服务
  • facebook accesstoken 存储在共享首选项中 (Android)

    我正在尝试存储来自 Facebook 的访问令牌以供以后使用 为此 我想使用 SharedPreferences 因此 我得到了字符串部分 令牌 和过期日期 如示例所示 final String MY PREFS NAME MyPrefsF
  • AngularJS:如何通过 websocket 发送文件?

    我是 websocket 的新手 我被分配了一个现有的工作聊天模块 目前该模块仅向其他用户发送消息 我被要求集成用户可以互相发送 附件 的功能 供参考 我发现了这个链接 https stackoverflow com questions 1
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 将任何文件读取为二进制字符串

    正如标题所示 有什么方法可以读取 Java 或任何其他语言 中给定文件 txt docx exe 等 的二进制表示形式 在java中 我知道如何按原样读取文件的内容 即 String line BufferedReader br new B
  • Webpack 未将 css 复制到 dist 中

    我有以下 css 文件 以及以下 webpack 配置 var path require path module exports entry app src index js output path path resolve dirname
  • 类型与创建 CLR 存储过程不匹配

    我在程序集中有一个如下所示的方法 namespace MyNameSpace public class MyClass Microsoft SqlServer Server SqlProcedure public static void M
  • JProgressBar 不在循环内更新

    我目前正在自学Java 我一直在尝试不同的事情 比如JRadioButtons JcomboBoxes 等 现在 我正在尝试使用JProgressBar但它似乎无法正常工作 相关代码段 JProgressBar progress JButt
  • JSON 解析为 Java - Android 应用程序

    我需要在 Java Android 应用程序中解析 json 字符串的帮助 JSON 文件的文本 data columns location id name description latitude longitude error type