Я пытаюсь разобрать файл JSON. Я написал приведенный ниже код для разбора, используя Java JSONParser:
public static void parseJSONResponse(JSONObject jsonObj) {
for (Object keyObj : jsonObj.keySet()) {
String key = (String) keyObj;
Object valObj = jsonObj.get(key);
if (valObj instanceof JSONObject) {
parseJSONResponse((JSONObject) valObj);
} else if (valObj instanceof JSONArray) {
System.err.println("ARRAY");
} else {
System.out.println(key + " -> " + valObj.toString());
}
}
}
public static void main(String[] args) {
try {
FileReader reader = new FileReader("C:\\Users\\extract.json");
JSONParser parser = new JSONParser();
Object obj = (JSONObject) parser.parse(reader);
JSONObject object = (JSONObject) (obj);
parseJSONResponse(object);
} catch (IOException | ParseException e) {
e.printStackTrace();
}
}
Он возвращает мне ответ, подобный следующему:
description -> For testing purposes only
indexUpdatedAt -> 1420751985
flags -> ["default","restorable","restorePossibleForType"]
data -> [["row-mfpy.gr8q.cpii","00000000-0000"],["00009","9BCA"]]
columns -> [{"renderTypeName":"meta_data","fieldName":":sid"},{"renderTypeName":"meta_data"}]
Мне нужно дополнительно разобрать "flags", "data «&» столбцы »для получения значений по отдельности. Как я могу изменить мой метод "parseJSONResponse" для достижения этой цели?