java - 访问 JSON 对象中的值

标签 java android json

我有一个 Json 对象,其中包含以下数据

{\"数据\":{\"pdp0:\":{\"recv\":{\"数据包\":\"15104\",\"字节\":\"9059817\"} ,\"已发送\":{\"数据包\":\"9480\",\"字节\":\"1687801\"}},\"gre0:\":{\"接收\":{\“数据包\”:\“0\”,\“字节\”:\“0\”},\“已发送\”:{\“数​​据包\”:\“0\”,\“字节\”:\"0\"}},\"tunl0:\":{\"recv\":{\"数据包\":\"0\",\"字节\":\"0\"},\"已发送\":{\"数据包\":\"0\",\"字节\":\"0\"}},\"usb0:\":{\"recv\":{\"数据包\":\"0\",\"字节\":\"0\"},\"发送\":{\"数据包\":\"0\",\"字节\":\"0\"}},\"lo:\":{\"recv\":{\"packets\":\"48300\",\"bytes\":\"2616703\"},\"sent\":{\“数据包\”:\“48300\”,\“字节\”:\“2616703\”}}},\“ver\”:\“1.4\”,\“类型\”:\“netdev\” ,\"日期\":\"2011-4-13 14:10:21\",\"用户\":\"351863047772880\",\"time_stamp\":1305313821541}

如果我想访问data->pdp0->recv->packets中的数据(这里的值为15104)我应该使用哪个函数?

谢谢 萨拉特

最佳答案

您可以使用普通的旧 org.json 包来获取嵌套对象:

int packets = new JSONObject(str) // str is your JSON string as above
                 .getJSONObject("data")
                 .getJSONObject("pdp0")
                 .getJSONObject("recv")
                 .getInt("packets");

API 详细信息请参见:http://www.json.org/javadoc/org/json/JSONObject.html

关于java - 访问 JSON 对象中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147243/

相关文章:

java - 从 .properties 中检索整数时遇到问题

java - Android ui元素动画

java - Gson 将 JSON 数组反序列化为对象

javascript - Ajax无法加载php json

java - 修改Lucene索引中的.tim和.tip文件

java - 如何理解客户端没有来自IBM MQ消息的原因?

java - ListView/ScrollViews 下的大位图会减慢滚动速度

javascript - 从 JSON 中的 servlet 请求获取纬度和经度并在谷歌地图对象中打印出来

java - Selenium 检查文本是否不存在

android - 使用 ADB 或 Appium,以编程方式从 Android 设置中删除链接的帐户