我有一个以下格式的json文件:
{
"IsLastPage": false,
"EnrichedData": {
"Base": [
{
"Number": "001107635",
"Type": "EEG_PR"
},
{
"Number": "00110754",
"Type": "ABC_PR"
}
]
}
}
要在java中解析它我正在使用以下代码:
JSONObject jsonObject = new JSONObject(new FileReader("src\\enriched.json"));
JSONArray EnrichedData = jsonObject.getJSONArray("EnrichedData");
System.out.println(EnrichedData);
for(int i=0; i < EnrichedData.length(); i++) {
JSONObject row = EnrichedData.getJSONObject(i);
JSONArray elements = row.getJSONArray("Base");
for(int j=0; j < elements.length(); j++) {
JSONObject element = elements.getJSONObject(j);
JSONObject Number = element.getJSONObject("Number");
JSONObject Type = element.getJSONObject("Type");
System.out.println("Number: " + Number.getString("Number"));
System.out.println("Type: " + Type.getString("Type"));
}
}
但在执行此操作时会抛出异常
org.json.JSONException:找不到JSONObject [&#34; Base&#34;]。
我在这里做错了什么?
答案 0 :(得分:1)
请注意,这是错误的:
JSONArray EnrichedData = jsonObject.getJSONArray("EnrichedData");
EnrichedData
不是数组,而是JSONObject
。