我有一个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)我应该使用哪个函数?
感谢 萨拉
答案 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对象进行序列化和反序列化。