Простая ситуация -
- читать файл json
- обнаружение всех пар ключ-значение
- сравнить пары ключ-значение
Я попробовал gson, пакет с json.org, но, похоже, не смог далеко уйти.
Может ли кто-нибудь предоставить ясный пример на Java о том, как взять файл, прочитать его, в конечном итоге получить json objec, из которого я могу получить пары ключ / значение.
Учтите это:
private void runThroughJson(JsonObject jsonObject) {
for (final Entry<String, JsonElement> entry : jsonObject.entrySet()) {
final String key = entry.getKey();
final JsonElement value = entry.getValue();
System.out.println(key + " - " + value);
if (value.isJsonObject()) {
runThroughJson(value.getAsJsonObject());
} else {
int ix = value.getAsString().indexOf('[');
int ig = value.getAsString().lastIndexOf(']');
System.out.println(ix);
System.out.println(ig);
String a = value.getAsString().substring(ix, ig);
JsonElement jsonElement = parser.parse(a);
runThroughJson(jsonElement.getAsJsonObject());
}
}
}
Логично, что все в порядке, однако я получаю исключение:
Exception in thread "main" java.lang.IllegalStateException
at com.google.gson.JsonArray.getAsString(JsonArray.java:133)
at com.cme.esg.bk.TryGson.runThroughJson(TryGson.java:46)
at com.cme.esg.bk.TryGson.runThroughJson(TryGson.java:44)
at com.cme.esg.bk.TryGson.goForIt(TryGson.java:32)
at com.cme.esg.bk.TryGson.main(TryGson.java:16)
Можете ли вы сообщить, что я скучаю.