Я змінюю свою бібліотеку JSON з org.json на Джексон і хочу перенести наступний код:
JSONObject datasets = readJSON(new URL(DATASETS));
JSONArray datasetArray = datasets.getJSONArray("datasets");
Зараз у Джексона у мене є наступне:
ObjectMapper m = new ObjectMapper();
JsonNode datasets = m.readTree(new URL(DATASETS));
ArrayNode datasetArray = (ArrayNode)datasets.get("datasets");
Однак мені не подобається акторський склад, чи є можливість ClassCastException
? Чи є спосіб еквівалента getJSONArray
в org.json
так що у мене є належна обробка помилок в разі , якщо це не масив?
FAIL_ON_UNKNOWN_PROPERTIES
функцією десеріалізатора, щоб просто повернути нулі у невикористаних полях. Але це, звичайно, лише варіант, якщо набір полів відносно обмежений.