访问JSON对象中的值

时间:2011-05-27 02:30:47

标签: java android json

我有一个Json对象,它有以下数据

{\ “数据\”:{\ “pdp0:\”:{\ “的recv \”:{\ “分组\”:\ “15104 \”,\ “字节\”:\ “9059817 \”} ,\ “发送\”:{\ “分组\”:\ “9480 \”,\ “字节\”:\ “1687801 \”}},\ “gre0:\”:{\ “的recv \”:{\ “数据包\”:\ “0 \”,\ “字节\”:\ “0 \”},\ “发送\”:{\ “分组\”:\ “0 \”,\ “字节\”:\ “0 \”}},\ “tunl0:\”:{\ “的recv \”:{\ “分组\”:\ “0 \”,\ “字节\”:\ “0 \”},\“发送\ “:{\” 分组\ “:\” 0 \”,\ “字节\”:\ “0 \”}},\ “USB0:\”:{\ “的recv \”:{\ “分组\” :\ “0 \”,\ “字节\”:\ “0 \”},\ “发送\”:{\ “分组\”:\ “0 \”,\ “字节\”:\ “0 \” }},\ “LO:\”:{\ “的recv \”:{\ “分组\”:\ “48300 \”,\ “字节\”:\ “2616703 \”},\ “发送\”:{ \ “分组\”:\ “48300 \”,\ “字节\”:\ “2616703 \”}}},\ “VER \”:\ “1.4 \”,\ “类型\”:\ “NETDEV \” ,\“date \”:\“2011-4-13 14:10:21 \”,\“user \”:\“351863047772880 \”,\“time_stamp \”:1305313821541}

如果我想访问数据中的数据 - > pdp0-> recv->数据包(此处值为15104)我应该使用哪个函数?

感谢 萨拉

2 个答案:

答案 0 :(得分:1)

您可以使用普通的旧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

答案 1 :(得分:1)

您可以使用Aleadam建议的内容。但是,您最好使用GSON for java objects,因为它允许您将JSON与Java对象进行序列化和反序列化。