1. 개요
이 빠른 사용방법(예제) 에서는 Jackson 2를 사용하여 JSON 문자열을 JsonNode ( com.fasterxml.jackson.databind.JsonNode )로 변환하는 방법을 보여줍니다.
더 깊이 파고 들고 Jackson 2로 할 수 있는 다른 멋진 것들을 배우고 싶다면 – 메인 Jackson 예제 로 넘어가 십시오 .
2. 빠른 파싱
매우 간단하게 JSON 문자열을 구문 분석하려면 ObjectMapper 만 있으면 됩니다 .
@Test
public void whenParsingJsonStringIntoJsonNode_thenCorrect()
throws JsonParseException, IOException {
String jsonString = "{"k1":"v1","k2":"v2"}";
ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree(jsonString);
assertNotNull(actualObj);
}
3. 저수준 파싱
어떤 이유로 그보다 낮은 수준으로 이동해야 하는 경우 다음 예제는 문자열의 실제 구문 분석을 담당 하는 JsonParser 를 노출합니다.
@Test
public void givenUsingLowLevelApi_whenParsingJsonStringIntoJsonNode_thenCorrect()
throws JsonParseException, IOException {
String jsonString = "{"k1":"v1","k2":"v2"}";
ObjectMapper mapper = new ObjectMapper();
JsonFactory factory = mapper.getFactory();
JsonParser parser = factory.createParser(jsonString);
JsonNode actualObj = mapper.readTree(parser);
assertNotNull(actualObj);
}
4. JsonNode 사용
JSON이 JsonNode 개체로 구문 분석된 후 Jackson JSON 트리 모델로 작업 할 수 있습니다 .
@Test
public void givenTheJsonNode_whenRetrievingDataFromId_thenCorrect()
throws JsonParseException, IOException {
String jsonString = "{"k1":"v1","k2":"v2"}";
ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree(jsonString);
// When
JsonNode jsonNode1 = actualObj.get("k1");
assertThat(jsonNode1.textValue(), equalTo("v1"));
}
5. 결론
이 문서에서는 JSON 문자열을 Jackson JsonNode 모델 로 구문 분석 하여 JSON 개체의 구조화된 처리를 활성화하는 방법을 설명했습니다.
이 모든 예제와 코드 스니펫의 구현은 내 github 프로젝트 에서 찾을 수 있습니다. 이것은 Eclipse 기반 프로젝트이므로 그대로 가져오고 실행하기 쉬워야 합니다.