【问题标题】:Getting JSONException获取 JSONException
【发布时间】:2011-04-01 11:50:31
【问题描述】:

我有一个 json 对象:

"images":{"1":{"imagename":"image1.gif","url":"image1url"},"2":{"imagename":"image2.gif","url":"image2url"},"3":{"imagename":"image3.gif","url":"image3url"}}

我想从中获取图像名和网址。我进入这个图像。我从图像中获取值 1,2,3。但是我无法获取这个1,2和3对应的json。

它的抛出异常声明:No value for 1 或 2 无值 或 3 没有值

这个原因可能是什么原因?请回复..

我现在的代码是:

if(jsonObj.has("images")) {

    JSONArray imagesArray = jsonObj.getJSONObject("images").names();
    JSONObject imageDetailsObject;

    for(int i = 0; i < imagesArray.length(); i++) {
       imageDetailsObject = jsonObj.getJSONObject(imagesArray.get(i).toString());
       if(imageDetailsObject.has("imagename")) {
          //perform some actions
       }
       if(imageDetailsObject.has("url")) {
         //perform some actions
       }
    }
}

【问题讨论】:

    标签: android json


    【解决方案1】:

    已编辑:

    imageDetailsObject = jsonObj.getJSONObject("images").getJSONObject(imagesArray.get(i).toString());
    

    【讨论】:

    • 对不起,我误解了你的概念。看来您丢失了 jsonObj.getJSONObject("image")。所以我编辑了我的答案。
    【解决方案2】:

    我通过给予得到了它:

    if (jsonObj.has("images")) {
    
        JSONArray imagesArray = jsonObj.getJSONObject("images").names();
        JSONObject imageDetailsObject;
    
        for (int i = 0; i < imagesArray.length(); i++) {
    
            imageDetailsObject = jsonObj.getJSONObject("images").getJSONObject(
                                            imagesArray.getString(i));
            if(imageDetailsObject.has("imagename")) {
                //perform some actions
            }
            if (imageDetailsObject.has("url")) {
                //perform some actions
            }
        }                           
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      相关资源
      最近更新 更多