Android:如何将JSONObject转换为JSONArray返回NULL?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (611)

我的代码:

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){
    ....
}
提问于
用户回答回答于

用以下代码试试:

JSONObject obj = new JSONObject(data.toString());
JSONObject result = obj.getJSONObject("result");
JSONArray tasksA = result.optJSONArray("a");
JSONArray tasksB = result.optJSONArray("b");
用户回答回答于

当你看到"key": { ... },这意味着key是JSONObject。

当你看到"key": [ ... ],这意味着key是JSONArray。

在你的情况下,"result"是JSONObject,所以用这个代替:

JSONObject tasks = obj.optJSONObject("result");

扫码关注云+社区

领取腾讯云代金券