0
我已經制作了這個JSON解析器,並且我想獲取所有不同地址但不重複地址的副本(還有許多其他JSON對象也參與其中)。但是當我到達featuresArray.add(i, feature);
時,我一直在收到錯誤響應。我在這裏做錯了什麼?Java使用繼續循環進行重複字符串檢查
private static void simpleJSON() throws IOException {
JSONParser parser = new JSONParser();
JSONArray featuresArray = new JSONArray();
String check = "check";
try {
Object obj = parser.parse(new FileReader(filepath));
JSONArray jsonarray = (JSONArray) obj;
for (int i = 0; i < jsonarray.size(); i++) {
JSONObject jsonobject = (JSONObject) jsonarray.get(i);
String location_name = (String) jsonobject.get("location_name");
String street_address = (String) jsonobject.get("street_address");
if (street_address.equals(check)) {
continue;
}
check = street_address;
Map feature = new LinkedHashMap();
feature.put("location_name", location_name);
feature.put("street_address", street_address);
featuresArray.add(i, feature);
}
} catch (ClassCastException c) {
c.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
下面是拋出異常(您忽略發佈)的方法的javadoc:https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#add-int- E-。它解釋了什麼時候拋出異常。讀取堆棧跟蹤。閱讀javadoc。你爲什麼不使用'add(feature)'?另外,不要使用原始類型(你也應該有編譯器警告)。 –
你正在使用哪個庫進行解析是Gson? –