Java Android:将JSONObject转换为JSONArray将返回null
我的代码:Java Android:将JSONObject转换为JSONArray将返回null,java,android,arrays,json,Java,Android,Arrays,Json,我的代码: JSONObject data = {"result":{"a":[{"artist":"Aney","number:"1"},{"artist":"Aney","number:"2"}],"b":[{"artist":"Boney","number:"3"},{"artist":"Boney","number:"4"}], .... JSONObject obj = new JSONObject(data.toString()); JSONArray tasks = obj.opt
JSONObject data = {"result":{"a":[{"artist":"Aney","number:"1"},{"artist":"Aney","number:"2"}],"b":[{"artist":"Boney","number:"3"},{"artist":"Boney","number:"4"}], ....
JSONObject obj = new JSONObject(data.toString());
JSONArray tasks = obj.optJSONArray("result");
但是tasks
返回null
我尝试了以下代码,但不起作用:
JSONObject data = {"result":{"a":[{"artist":"Money",...
JSONArray tasks = data.optJSONArray("result");
更新:
我的主要代码是:
// get data from main url and reutnr array
JSONArray tasks = data.optJSONArray("result");
if(alert){
// get data from another url and return object
JSONObject data = {"result":{"a":[{"artist":"Money",...
tasks = data.optJSONArray("result");
}
// now i use tasks in my code
if(tasks.length() > 0){
....
}
当您看到“key”:{…}
,这意味着key
是一个JSONObject
当您看到“key”:[…]
,这意味着key
是一个JSONArray
在您的例子中,“result”
是一个JSONObject
,因此请编写以下内容:
JSONObject tasks = obj.optJSONObject("result");
JSONArray(a,b)位于根对象内部的对象“result”内,因此您必须导航hyerarchy才能获取它:
JSONObject obj = new JSONObject(data.toString());
JSONObject result = obj.getJSONObject("result");
JSONArray tasksA = result.optJSONArray("a");
JSONArray tasksB = result.optJSONArray("b");
请注意,每个“a”和“b”都是要检索的不同JSONArray。
数据。result
是JSON对象,而不是数组data={“result”:{…}
可能有用。@LAD谢谢你。但我的json代码非常关键和有价值。这需要时间,然后您必须将其作为对象进行解析,然后遍历添加到数组中的每个属性,以便获得所需的结构want@salarimameri嗯,results
对象不是数组,因此您必须澄清您的意思。