簡體   English   中英

Android:將JSONObject轉換為JSONArray返回null

[英]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": { ... }時,表示keyJSONObject

當您看到"key": [ ... ]時,表示keyJSONArray

在您的情況下, "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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM