如何获取JSONObject的元素?

时间:2014-06-18 07:55:02

标签: java json

我的JSONObject包含一些JSONObjects,如下所示:

"statistics": {
    "John": {
      "Age": "22",
      "status": "married"
    },
    "Ross": {
      "Age": "34",
      "status": "divorced"
    }
 }

现在我所知道的只是对象名称(统计数据),不知道它的元素数或它的元素名称,所以,有没有办法解析该对象,以便我可以得到它的元素并处理它(即约翰,罗斯)?

2 个答案:

答案 0 :(得分:12)

JSONObject json = new JSONObject(yourdata);
String statistics = json.getString("statistics");
JSONObject name1 = json.getJSONObject("John");
String ageJohn = name1.getString("Age");

以动态方式获取这些项目:

JSONObject json = new JSONObject(yourdata);
String statistics = json.getString("statistics");

for (Iterator key=json.keys();key.hasNext();) {
    JSONObject name = json.get(key.next());
    //now name contains the firstname, and so on... 
}

答案 1 :(得分:2)

您没有指定要用于表示JSON对象的库。通常有一些方法可以枚举对象的属性。例如:

org.json.JSONObject.keys()

返回对象中String名称的迭代器。