[英]how to read nested json list in java?
I need to get type value and networkUsage download value and list was dynamic我需要获取类型值和 networkUsage 下载值并且列表是动态的
Json Response was Json 响应为
{
"count": 2,
"devices": [
{
"name": "xyz",
"type": 1,
"subType": 0,
"signalStrength": -37,
"dataUsage": {
"download": 84,
"upload": 84
},
"networkUsage": {
"download": 0,
"upload": 0
},
"speed": {
"download": 0,
"upload": 0
}
},
{
"name": "abcd",
"type": 2,
"subType": 0,
"signalStrength": -37,
"dataUsage": {
"download": 84,
"upload": 84
},
"networkUsage": {
"download": 0,
"upload": 0
},
"speed": {
"download": 0,
"upload": 0
}
}
]
}
I tried this way and got errors.我尝试了这种方式并得到了错误。
JSONArray jsonarray = new JSONArray(response);
System.out.println(String.format("JSONArray length => %d", jsonarray.length()));
for (int i = 0; i < jsonarray.length(); i++) {
JSONObject obj1 = jsonarray.getJSONObject(i);
String name = obj1.getString("name");
int type = obj1.getInt("type");
System.out.println(name);
System.out.println(type);
}
Exception in thread "main" org.json.JSONException: A JSONArray text must start with '[' at character 1 at org.json.JSONTokener.syntaxError(JSONTokener.java:496) at org.json.JSONArray.(JSONArray.java:115) at org.json.JSONArray.(JSONArray.java:159) at com.calix.pages.test.main(test.java:91)
Exception in thread "main" org.json.JSONException: A JSONArray text must start with '[' at character 1 at org.json.JSONTokener.syntaxError(JSONTokener.java:496) at org.json.JSONArray.(JSONArray.java :115) at org.json.JSONArray.(JSONArray.java:159) at com.calix.pages.test.main(test.java:91)
JSONObject jsonobj = new JSONObject(response);
JSONArray jsonarray = jsonobj.getJSONArray("devices");
for (int i = 0; i < jsonobj.getInt("count"); i++) {
JSONObject obj1 = jsonarray.getJSONObject(i);
String name = obj1.getString("name");
int type = obj1.getInt("type");
System.out.println(name);
System.out.println(type);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.