尝试使用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库完成吗?
答案 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");