【问题标题】:Android Parse JSON responseAndroid 解析 JSON 响应
【发布时间】:2014-05-15 08:41:02
【问题描述】:

我不知道为什么我在解析这个简单的 json 时遇到这么多问题:

{"status":0,"result":{"success":false,"message":"Error"}}

我如何获得 successmessage 字符串?

    try {
        river = response.getJSONArray("result");

        // looping through All Contacts
        for(int i = 0; i < river.length(); i++){
            JSONObject c = river.getJSONObject(i);

            if (c.has("message")) {
                message = c.getString("message");
                System.out.println("object_guid:"+message); }

            if (c.has("success")) {
                success = c.getString("success");
                System.out.println("subtype:"+success); }

        }

    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

【问题讨论】:

    标签: android json parsing


    【解决方案1】:

    替换

    river = response.getJSONArray("result");                                                                                
    

    river = response.getJSONObject("result");          
    

    result 标签是 JSONObject 而不是 JSONArray

    【讨论】:

      【解决方案2】:

      您的result 不是 jsonarray,它是一个对象。

      {"status":0,"result":{"success":false,"message":"Error"}}

      JSONObject river = response.getJSONObject("result"); 
      String success = river.getString("success"); 
      String message = river.getString("message"); 
      

      【讨论】:

        【解决方案3】:

        在您的回复中,您没有收到JSONArray。它仅包含 JSONObjects。所以你需要得到JSONObject 而不是JSONArray

        尝试如下:

                         river = response.getJSONObject("result");                                                                                
                                 if (river.has("message")) {
                                          message = river.getString("message");                   
                                          System.out.println("object_guid:"+message); }
        
                                   if (river.has("success")) {
                                          success = river.getString("success");                   
                                         System.out.println("subtype:"+success); }
                                    }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-27
          相关资源
          最近更新 更多