我的代码:
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){
....
}
答案 0 :(得分:1)
当您看到"key": { ... }
时,表示key
是JSONObject
。
当您看到"key": [ ... ]
时,表示key
是JSONArray
。
在您的情况下,"result"
是JSONObject
,请改写为:
JSONObject tasks = obj.optJSONObject("result");
答案 1 :(得分:0)
JSONArray(a,b)位于根对象内部的对象“结果”内部,因此您必须导航层次结构才能获取它:
JSONObject obj = new JSONObject(data.toString());
JSONObject result = obj.getJSONObject("result");
JSONArray tasksA = result.optJSONArray("a");
JSONArray tasksB = result.optJSONArray("b");
请注意,每个'a'和'b'是要检索的不同JSONArray。