使用json-simple解析嵌套的JSON数组

时间:2015-11-17 15:50:22

标签: java json json-simple

尝试使用json simple来解析来自rest服务的数据。回复如下:

{
   "locations": [
      "city" : "San Jose",
      "state" : "Ca",
    "job" : {
      "site" : "Main Processing",
      "region" : "USA"
    }
  ]
}
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);

JSONArray array = (JSONArray) jsonObject.get("locations");

for(int i = 0; i < array.size(); i++) {
 String site = array.getJSONObject(i).getString("site");
}

我的问题是我无法从JSONArray对象获取对job元素的引用。 &#34;地点&#34;参考是基本的解析,但&#34;工作&#34;引用在数组内部定义时给出了问题。

getJSONObject似乎也不是JSONArray的有效方法。

这可以用json-simple库完成吗?

1 个答案:

答案 0 :(得分:0)

getJSONObject类提供了org.json.JSONArray方法。 (不使用json-simple)。我在json-simple doc中找不到它。因此,使用org.json.*包导入,您可以执行以下操作:

JSONObject jsonObject = new JSONObject(jsonAsString);
JSONArray array = jsonObject.getJSONArray("locations");

//You should check that array.length() >= 3
JSONObject job = array.getJSONObject(2);
String site = job.getString("site");