将字符串解析为android中的jsonarray

时间:2014-02-12 12:58:18

标签: android json

我的数组是

{"VideoItem":{"PlayUrl":"hello"}}

我想访问PlayUrl

我正在使用的代码

JSONObject obj1 = new JSONObject(retstring1);
JSONArray ja1 = obj1.getJSONArray("VideoItem");

for (int j = 0; j < aJson.length(); j++) {
JSONObject jsonO = aJson.getJSONObject(j);
JSONObject jo1 = (JSONObject)ja1.get(j);

String h=jsonO.getString("PlayUrl")

}

但它返回null。

2 个答案:

答案 0 :(得分:3)

VideoItem不是JSONArray,即JSONObject。因此,您需要将其读作getJSONObject("VideoItem")

使用

JSONObject obj1 = new JSONObject(retstring1);
JSONObject videoItem = obj1.getJSONObject("VideoItem");

String url = videoItem.getString("PlayUrl");

答案 1 :(得分:1)

错误:

你错误地选择getJSONArray()

正确:

使用getJSONObject()因为您的字符串/响应仅包含JSONObject(主要和子对象)

解决方案:

JSONObject mainObject= new JSONObject(yourJSONString);
JSONObject objVideo= mainObject.getJSONObject("VideoItem");