Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取json android数据_Android_Json_Fetch - Fatal编程技术网

获取json android数据

获取json android数据,android,json,fetch,Android,Json,Fetch,如何使用json获取此数据。它是对象还是数组?我很困惑。下面是我的数据和我实施的内容。我无法获取任何值。请帮我取值 JSONObject jobject = new JSONObject(response); JSONArray jsonArray = jobject.getJSONArray("variety"); for (int i =0; i<=jsonArray.length();i++){ jobject= jsonArray.getJ

如何使用json获取此数据。它是对象还是数组?我很困惑。下面是我的数据和我实施的内容。我无法获取任何值。请帮我取值

    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
        }
    }
}
JSONObject jobject=新的JSONObject(响应);
JSONArray JSONArray=jobject.getJSONArray(“变种”);

对于(inti=0;i这里,
variation
distance
不是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 varietyObject=jobject.getJSONObject(“variety”);
迭代器keysVariation=varietyObject.keys();
while(keysVariation.hasNext()){
字符串keyVariation=keyVariation.next();
JSONObject objectVariety=varietyObject.getJSONObject(keyVariety);
//这里您将获得内部字符串/int值
inttoday=objectvariation.getInt(“today”);
inttodate=objectvariation.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");
}
JSONObject distance object=jobject.getJSONObject(“距离”);
迭代器keysDistance=distanceObject.keys();
while(keysDistance.hasNext()){
字符串keydestance=keydestance.next();
JSONObject objectDistance=distanceObject.getJSONObject(keyDistance);
//这里您将获得内部字符串/int值
inttoday=objectDistance.getInt(“today”);
int todate=objectDistance.getInt(“todate”);
}

请记住,JSONArray以
[
开头,JSONObject以
{

开头,这里,
多样性
距离
不是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 varietyObject=jobject.getJSONObject(“variety”);
迭代器keysVariation=varietyObject.keys();
while(keysVariation.hasNext()){
字符串keyVariation=keyVariation.next();
JSONObject objectVariety=varietyObject.getJSONObject(keyVariety);
//这里您将获得内部字符串/int值
inttoday=objectvariation.getInt(“today”);
inttodate=objectvariation.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");
}
JSONObject distance object=jobject.getJSONObject(“距离”);
迭代器keysDistance=distanceObject.keys();
while(keysDistance.hasNext()){
字符串keydestance=keydestance.next();
JSONObject objectDistance=distanceObject.getJSONObject(keyDistance);
//这里您将获得内部字符串/int值
inttoday=objectDistance.getInt(“today”);
int todate=objectDistance.getInt(“todate”);
}

请始终记住,JSONArray以
[
开头,JSONObject以
{

开头。仅举一点例子,演示中可能会出现打字错误

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 

仅举一点例子,演示中可能会出现打字错误

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 

json对象从{}开始,数组从[]开始,所以现在再看一遍,告诉我们是什么it@Shararti卡基-所有都是对象,现在你可以得到你想要的want@SharartiKAKI-帮助我获取值..而不是
JSONArray JSONArray=jobject.getJSONArray(“变种”)
你应该像
JSONObject object=jobject.getJSONObject(“variation”);
variation是
JSONObject
而不是
JSONArray
在{}中包装的所有东西都是对象,在[]中包装的所有东西都是对象是一个数组。你可以迭代对象而不是循环。看看这个答案,json对象从{}开始,数组从[]开始,所以现在再看一次,告诉我是什么it@Shararti卡基-所有都是对象,现在你可以得到你想要的want@SharartiKAKI-帮助我获取值..而不是
JSONArray JSONArray=jobject.getJSONArray(“变化”);
您应该像
JSONObject object=jobject.getJSONObject(“变化”)那样获取它
variety是
JSONObject
not
JSONArray
包装在{}中的一切都是对象,包装在[]中的一切都是对象是一个数组。您可以在对象上迭代而不是循环。请查看此答案,它应该是迭代器而不是迭代器。对于此错误,我深表歉意。请检查我更新的答案,如果它有助于您解决问题,请接受答案。:)@Exigente05这应该是注释而不是答案。@Exigente05-我无法获取距离值检查您的json是否有效-我已更改了某些内容以使其有效上面的代码正在工作-变量命名几乎没有更改。请参阅更新的回答它应该是迭代器而不是迭代器。对于此错误,请检查我更新的答案如果这有助于您解决问题,请接受答案。@Exigente05这应该是注释而不是答案。@Exigente05-我无法获取距离值检查您的json是否有效-我已更改了一些内容以使其有效上面的代码正在工作-变量命名几乎没有更改。请参阅更新的答案