【 개발 이야기 】
[Springboot] 잭슨이란? Json Parser!!
홍호나
2025. 3. 21. 14:08
잭슨이란
공식 문서를 번역했습니다. https://github.com/FasterXML/jackson
잭슨 릴리즈 페이지 https://github.com/FasterXML/jackson/wiki/Jackson-Releases
- 잭슨은 Java Json Library로 알려져있습니다. 자바를 위한 Json parser입니다.
- 잭슨은 자바와 JVM을 위한 data-processing tool로도 적합합니다. 포조와 Json을 위한 데이터 바인딩으로도 좋습니다.
- 잭슨의 1.x 버전은 deprecated됐고 2.x 버전이 계속 개발 중에 있습니다. 이 둘은 서로 다른 자바 패키지에 속해 있고 서로 호환 가능하며 양립이 가능합니다. (한 프로젝트에서 잭슨 1.x와 2.x를 충돌 없이 사용 가능합니다.) 1.x 버전에서 2.x 버전으로의 이동을 용이하게 하기 위함입니다.
- 메이븐 레포지토리를 통해 사용하는 것을 권장합니다. release는 Central Maven Repository를 위해 만들어집니다.
- 잭슨 2.x에는 코어 모듈 세가지가 있습니다.
- Straming ("jackson-core") https://github.com/FasterXML/jackson-core/wiki
- low-level streaming API입니다. (charaters와 bytes로 읽기와 쓰기를 한다.)
- Annotations ("jackson-annotations") https://github.com/FasterXML/jackson-annotations/wiki
- Databind ("jackson-databind") https://github.com/FasterXML/jackson-databind/wiki
- streaming과 annotations 패키지에 의존하며 streaming 패키지의 지원하에 data-binding을 구현합니다.
- java doc : https://www.javadoc.io/static/com.fasterxml.jackson.core/jackson-databind/2.18.3/com/fasterxml/jackson/databind/package-summary.html
- annotation.JsonNaming : https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-annotations/latest/com.fasterxml.jackson.annotation/com/fasterxml/jackson/annotation/package-summary.html
- Straming ("jackson-core") https://github.com/FasterXML/jackson-core/wiki
Annotation JsonInclude
- 사용된 property나 class가 반드시 직렬화돼야 할 경우 사용됩니다.
Annotation JsonProperty
dd
Annotation JsonNaming
- com.fasterxml.jackson.databind.annotation
- annotated class에 PropertyNamingStrategy를 사용하기 위해 사용되는 어노테이션입니다.
- value 값을 생략할 경우 'use default naming'이 사용됩니다. (naming method가 적용되지 않는 것이 저것입니)
Class PropertyNamingStrategies
Class PropertyNamingStrategies.UpperSnakeCaseStrategy