나는 잭슨 org.json에서 내 JSON 라이브러리를 변경하고 난 다음 코드 마이그레이션 할 : 나는 다음과 같은 한 잭슨 이제JsonNode를 형 변환하지 않고 ArrayNode로 변환하는 방법은?
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
의 가능성은 있습니까? I 적절한 오류가 배열이 아닌 경우에는 취급이되도록 org.json
에 getJSONArray
하는 방법 당량이 있는가?
불행하게도 나는 전체 매핑을 사용할 수 없습니다. 필드 이름이 제한된에서 온 –
경우에 당신은 그들 모두를 특징으로 클래스를 정의하고, 다만 널 (null)이 사용되지 않는 필드에 반환 얻을 수있는 디시리얼라이저의'FAIL_ON_UNKNOWN_PROPERTIES' 기능을 사용할 수 있습니다. 그러나 필드 이름 집합이 상대적으로 제한적이라면 이는 물론 선택 사항입니다. – fvu
흠 나는이 솔루션이 내 경우에 가장 적합하지 않다고 생각하지만 사전에 알려진 제한된 세트로 문제가 발생할 경우를 대비하여 기억할 것입니다! –