-4

尝试使用 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 对象中获取对作业元素的引用。“位置”引用是基本解析,但“工作”引用在数组中定义时给了我问题。

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

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

4

1 回答 1

-1

getJSONObject方法由org.json.JSONArray类提供。(不使用 json-simple)。我在 json-simple 文档中找不到它。因此,使用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");
于 2015-11-17T15:54:40.447 回答