在android中读取复杂的json字符串

时间:2014-10-11 15:44:06

标签: android json

我有一个奇怪的json字符串,我从rest api收到,现在我试图从json字符串中提取信息,看起来像这样。

var json={"student":{
"0":[{
    "name":"manet",
    "marks":114
}],
"1":null,
"2":null,
"4":null,
"5":null,
"6":null,
"7":[{
    "name":"Om",
    "marks":75
}], "employye": {
"0":[{
    "name":"nn",
    "value":23
}],
"1":[{"name": "tt",
      "value": 67}]
"2":null,
"3":null,
"4":null,
"5":null,
"6":null,
"7":[{
    "name":"Om",
    "value":75
}]

}};

我试图像这样阅读这个json但不知道我应该如何迭代学生和雇佣的价值

 try {
        JSONObject reader = new JSONObject(data);
            Log.d(TAG, ""+reader.length());
        JSONObject student = reader.getJSONObject("student");
                Log.d(TAG, "Student Array"+student.getJSONArray("0")); // here is the issue 

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

    }

由于

1 个答案:

答案 0 :(得分:0)

此用户与您的查询相同。请回答这个问题。

https://stackoverflow.com/a/17673362/4132625

使用此代码获取学生对象下的密钥

JSONObject object = new JSONObject(json);
JSONObject reader = object.getJSONObject("student");
Iterator<String> iterator = reader.keys();
while(iterator.hasNext()){
Log.d("JSON" ,"key :"+iterator.next());
}

将为您提供学生对象下的所有键

键:0&#34;   关键:1&#34;   关键:2&#34;   关键:4&#34;   关键:5&#34;   关键:6&#34;   关键:7&#34;   关键:雇佣&#34;

等解析你的json。