我有这样的JSON结构的一个JSONObject:如何解析JSON具有唯一ID
{
"images":
{
"-KEHe39xfHoRmK9gPxpv":
{
"image": "",
"imei": "000000000000000",
"latitude": "",
"longitude": ""
},
"-KEHe5BOpHz6WlKF_F5B":
{
"image": "",
"imei": "000000000000000",
"latitude": "",
"longitude": ""
},
"-KEHe73aFp59v5Y_mX0Z":
{
"image": "",
"imei": "000000000000000",
"latitude": "",
"longitude": ""
}
}
}
正如你所看到的,键是唯一的。 我知道,当我做
jsonArray = jsonObject.getJSONArray("images");
...我能得到相应的键的值。
我的问题是我不知道密钥。所以我不能把它们放到.getJSONArray()中以获取我的值。
我试图让数组的数组
jsonArray = jsonObject.getJSONArray("images").getJSONArray(x); // x == 0 , 1 , 2 , 3
String test = jsonArray.toString();
textView.setText(test);
给我这个输出
04-03 20:41:16.073 9080-9080/com.example.app W/System.err: org.json.JSONException: Value {"-KEHe8nN5iFyGCIXiuv-":{"image":"DATA","longitude":"DATA","latitude":"DATA","imei":"000000000000000"},"-KEHe5BOpHz6WlKF_F5B":{"image":"DATA","longitude":"DATA","latitude":"DATA","imei":"000000000000000"},"-KEHe39xfHoRmK9gPxpv":{"image":"DATA"
04-03 20:41:16.073 9080-9080/com.example.app W/System.err: at org.json.JSON.typeMismatch(JSON.java:100)
04-03 20:41:16.077 9080-9080/com.example.app W/System.err: at org.json.JSONObject.getJSONArray(JSONObject.java:548)
* I输出代替实际的数据...
是的,如果有可能重写该json,你最好返回一个jsonArray的图像对象; – Eenvincible