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 기반 프로젝트이므로 그대로 가져오고 실행하기 쉬워야 합니다.

Jackson footer banner