获得'JSON EXCEPTION:没有'错误的价值?

时间:2013-09-12 09:52:32

标签: java android json getjson

我正在尝试解析json数组“itemList”:

 {
    "itemsCount": "1309",
    "itemList": [
        { name: "xxx",
          id: "01"
        },
        { name: "yyy",
          id: "02"
        }
      ]
    }

但我得到了“json例外:没有价值” 当我使用以下代码时。

 String json = jsonParser.makeHttpRequest(URL_ALBUMS, "GET", params);
Log.d("Albums JSON: ", "> " + json);                    
try {   
     jsonObject = new JSONObject().getJSONObject("itemList");
     albums = jsonObject.getJSONArray("itemList"); 
         if (albums != null) {

    for (int i = 0; i < albums.length(); i++) {
    JSONObject c = albums.getJSONObject(i);

    String id = c.getString(TAG_ID);
    String name = c.getString(TAG_NAME);


    HashMap<String, String> map = new HashMap<String, String>();

    map.put(TAG_ID, id);
        map.put(TAG_NAME, name);


    albumsList.add(map);
                }
            }else{
                Log.d("Albums: ", "null");
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }

在日志中我能够看到json值。我在以下几行中遇到错误。

jsonObject = new JSONObject().getJSONObject("itemList");
 albums = jsonObject.getJSONArray("itemList"); 

我是新手。帮助我解决它。 提前致谢

3 个答案:

答案 0 :(得分:1)

您需要发送json字符串以创建json对象。

jsonObject = new JSONObject(json);
 albums = jsonObject.getJSONArray("itemList"); 

答案 1 :(得分:0)

如果此任务不是教育/学术,我建议您使用 JSON Mapper 。 例如杰克逊 GSON 。 “手动”解析这样的JSON只是浪费时间和代码,使其更容易出错。

http://jackson.codehaus.org/

使用映射器执行相同的操作将是两行代码,字面意思。

答案 2 :(得分:0)

试试这种方式

 jsonObject = new JSONObject(json);