Jackson-개요

Jackson은 Java 객체를 JSON으로 직렬화하거나 그 반대로 직렬화하는 간단한 Java 기반 라이브러리입니다.

풍모

  • Easy to use. -jackson API는 일반적으로 사용되는 사용 사례를 단순화하기 위해 높은 수준의 파사드를 제공합니다.

  • No need to create mapping. -jackson API는 직렬화 할 대부분의 개체에 대한 기본 매핑을 제공합니다.

  • Performance. -jackson은 조용하고 빠르며 메모리 공간이 적으며 대형 개체 그래프 또는 시스템에 적합합니다.

  • Clean JSON. -jackson은 읽기 쉬운 깔끔하고 간결한 JSON 결과를 생성합니다.

  • No Dependency. -jackson 라이브러리에는 jdk 외에 다른 라이브러리가 필요하지 않습니다.

  • Open Source -jackson 라이브러리는 오픈 소스이며 무료로 사용할 수 있습니다.

JSON을 처리하는 세 가지 방법

Jackson은 JSON을 처리하는 세 가지 대체 방법을 제공합니다.

  • Streaming API-JSON 콘텐츠를 개별 이벤트로 읽고 씁니다. JsonParser는 데이터를 읽는 반면 JsonGenerator는 데이터를 씁니다. 세 가지 중에서 가장 강력한 접근 방식이며 오버 헤드가 가장 낮고 읽기 / 쓰기 작업이 가장 빠릅니다. Analogus to Stax XML 파서입니다.

  • Tree Model-JSON 문서의 메모리 내 트리 표현을 준비합니다. JsonNode 노드의 ObjectMapper 빌드 트리입니다. 가장 유연한 접근 방식입니다. XML 용 DOM 파서와 유사합니다.

  • Data Binding -속성 접근자를 사용하거나 주석을 사용하여 JSON을 POJO (Plain Old Java Object)간에 변환합니다. 두 가지 유형입니다.

    • Simple Data Binding -JSON을 Java Maps, Lists, Strings, Numbers, Booleans 및 null 개체간에 변환합니다.

    • Full Data Binding -JSON을 모든 JAVA 유형으로 변환합니다.

    ObjectMapper는 두 가지 유형의 데이터 바인딩 모두에 대해 JSON을 읽고 씁니다. 데이터 바인딩은 가장 편리한 방법이며 XML 용 JAXB 파러와 유사합니다.