我这里有这个 json:
[
{
"ID": "2",
"Item Description": "Data removed for protection",
"Link": "Data removed for protection",
"Image": "Data removed for protection",
"Valid From": "Data removed for protection",
"Valid To": "Data removed for protection"
},
{
"ID": "3",
"Item Description": "Data removed for protection",
"Link": "Data removed for protection",
"Image": "Data removed for protection",
"Valid From": "Data removed for protection",
"Valid To": "Data removed for protection"
},
{
"ID": "4",
"Item Description": "Data removed for protection",
"Link": "Data removed for protection",
"Image": "Data removed for protection",
"Valid From": "Data removed for protection",
"Valid To": "Data removed for protection"
}
]
因此,我将其下载到名为 jArray
的 JSONObject
中。然后我将其转换为 JSONArray
,如下所示:
JSONArray json_array = new JSONArray(jArray);
但是,每当我尝试像这样访问它时:json_array[0][0]
,IDE 就会抛出错误并显示:需要数组类型;发现:'org.json.JSONArray'
。
现在,请不要误会我的意思,但是 JSONArray
不应该以相同的方式访问多维方面吗?
最佳答案
JSONArray
和普通的 java 数组不一样。JSONArray
是一个不同的 java 对象。 @Kon 的回答提供了 JSONArray
的基本思想。
如果您想从 JSONArray
访问数据,您可以循环遍历它以获取每个 JSONObject
,然后从那里检索数据,例如
JSONArray json_array = new JSONArray(jArray);
for (int i = 0; i < json_array.length() ; i++) {
try{
JSONObject object1 = jsonArray.getJSONObject(i);
int id = object1.getInt("ID");
String itemDescription = object1.getString("Item Description");
String link = object1.getString("Link");
.....//and so on
}
catch(Exception e){
e.printStackTrace();
}
}
关于java - 来自json android的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813164/