Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:将JSONObject转换为JSONArray将返回null_Java_Android_Arrays_Json - Fatal编程技术网

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
对象不是数组,因此您必须澄清您的意思。