首页 文章

获取json android数据

提问于
浏览
0

如何使用json获取此数据 . 它是一个对象还是一个数组?我很迷惑 . 以下是我的数据以及我实施的内容 . 我无法得到任何 Value . 请帮我拿取值 .

JSONObject jobject = new JSONObject(response);
    JSONArray jsonArray = jobject.getJSONArray("variety");
    for (int i =0; i<=jsonArray.length();i++){
        jobject=  jsonArray.getJSONObject(i);
        txt_today_671.setText(jobject.getString("variety.coc671"));
      }

     {
    "status": 200,
    "variety": {
        "coc671": {
            "today": 0,
            "todate": 0
        },
        "co92005": {
            "today": 0,
            "todate": 0
        },
     },
        "others": {
            "today": 0,
            "todate": 0
        }
    },
    "distance": {
        "0to20": {
            "today": 0,
            "todate": 0
        },
        "20to40": {
            "today": 0,
            "todate": 0
        },
    "above100": {
            "today": 0,
            "todate": 0
        }
    }
}

2 回答

  • 1

    这里, varietydistance 不是jsonArray,它是一个jsonObject .

    要遍历jsonObject,请遵循以下机制 -

    JSONObject varietyObject = jobject.getJSONObject("variety");
    Iterator<JSONObject> keysVariety = varietyObject.keys();
    
    while(keysVariety.hasNext()) {
    String keyVariety = keysVariety.next();
        JSONObject objectVariety = varietyObject.getJSONObject(keyVariety);
        // here you will get inner String/int values
        int today = objectVariety.getInt("today");
        int todate = objectVariety.getInt("todate");
    }
    

    对距离物体做同样的事情 -

    JSONObject distanceObject = jobject.getJSONObject("distance");
    Iterator<JSONObject> keysDistance = distanceObject.keys();
    
    while(keysDistance.hasNext()) {
    String keyDistance = keysDistance.next();
        JSONObject objectDistance = distanceObject.getJSONObject(keyDistance);
        // here you will get inner String/int values
        int today = objectDistance.getInt("today");
        int todate = objectDistance.getInt("todate");
    }
    

    Always remember JSONArray starts with [ and JSONObject start with {

  • 0

    只是向您说明一点,在演示中可能会出现拼写错误,

    JSONObject jobject = new JSONObject(response); // here you are getting all your object in one object
    JSONObject varityObject= jobject.getJSONObject("variety");
    //NOW USE varityObject to get coc671 and  co92005
    //Similarly 
    JSONObject distanceObject= jobject.getJSONObject("distance");
    // now use distanceObject to get its items
    

相关问题