[英]Android: converting JSONObject to JSONArray returns null
我的代碼:
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)位於根對象內部的對象“結果”內部,因此您必須導航層次結構才能獲取它:
JSONObject obj = new JSONObject(data.toString());
JSONObject result = obj.getJSONObject("result");
JSONArray tasksA = result.optJSONArray("a");
JSONArray tasksB = result.optJSONArray("b");
請注意,每個“ a”和“ b”都是要檢索的不同的JSONArray。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.