Java 来自json android的多维数组
我这里有一个json:Java 来自json android的多维数组,java,android,arrays,json,multidimensional-array,Java,Android,Arrays,Json,Multidimensional Array,我这里有一个json: [ { "ID": "2", "Item Description": "Data removed for protection", "Link": "Data removed for protection", "Image": "Data removed for protection", "Valid From": "Data remov
[
{
"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就会在它上面抛出一个错误,并说:array type expected;找到:“org.json.JSONArray”
现在,请不要误解我的意思,但是
JSONArray
不应该以同样的方式访问多维方面吗?不,它不应该以同样的方式访问多维数组
这是因为json\u array
不是一个数组,而是一个不同的Java对象。只有数组可以使用上面显示的特定语法进行访问。您需要查看此类的文档,以了解如何访问所需的信息。它应该提供清晰的、有良好文档记录的方法来获取您需要的东西
您不希望此语法允许您访问支持您的类的数组。这将是对封装的破坏,并且总体上是糟糕的设计
这里是一个很好的起点不,它的行为方式不应该与多维数组相同 这是因为
json\u array
不是一个数组,而是一个不同的Java对象。只有数组可以使用上面显示的特定语法进行访问。您需要查看此类的文档,以了解如何访问所需的信息。它应该提供清晰的、有良好文档记录的方法来获取您需要的东西
您不希望此语法允许您访问支持您的类的数组。这将是对封装的破坏,并且总体上是糟糕的设计
这里是一个很好的起点不,它的行为方式不应该与多维数组相同 这是因为
json\u array
不是一个数组,而是一个不同的Java对象。只有数组可以使用上面显示的特定语法进行访问。您需要查看此类的文档,以了解如何访问所需的信息。它应该提供清晰的、有良好文档记录的方法来获取您需要的东西
您不希望此语法允许您访问支持您的类的数组。这将是对封装的破坏,并且总体上是糟糕的设计
这里是一个很好的起点不,它的行为方式不应该与多维数组相同 这是因为
json\u array
不是一个数组,而是一个不同的Java对象。只有数组可以使用上面显示的特定语法进行访问。您需要查看此类的文档,以了解如何访问所需的信息。它应该提供清晰的、有良好文档记录的方法来获取您需要的东西
您不希望此语法允许您访问支持您的类的数组。这将是对封装的破坏,并且总体上是糟糕的设计
这里是一个很好的起点
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();
}
}
JSONArray json_数组=新的JSONArray(jArray);
for(int i=0;i
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();
}
}
JSONArray json_数组=新的JSONArray(jArray);
for(int i=0;i
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();
}
}
JSONArray json_数组=新的JSONArray(jArray);
for(int i=0;i
JSONArray
和普通java数组不一样