프로젝트 소개
# Jackson 프로젝트 홈
이 페이지는 Java 및 JVM 플랫폼을 위한 데이터 처리 도구 모음인 Jackson 프로젝트의 주요 포털입니다. Jackson은 "Java JSON 라이브러리" 또는 "Java용 최고의 JSON 파서"로 널리 알려져 있지만, JSON을 넘어 많은 다른 데이터 형식도 지원합니다.
## 개요
Jackson이 제공하는 기능:
- **스트리밍 JSON 파서/생성기** (jackson-core): 저수준, 고성능 API
- **데이터 바인딩** (jackson-databind): JSON과 POJO 간 직렬화/역직렬화
- **어노테이션** (jackson-annotations): 직렬화 제어를 위한 표준 어노테이션
- **데이터 형식 모듈**: Avro, CBOR, CSV, Ion, Protobuf, Smile, TOML, YAML 및 기타 형식 지원
- **데이터타입 모듈**: Java 8 타입, Guava, Joda-Time 및 여러 타사 라이브러리 지원
- **JVM 언어 모듈**: Kotlin, Scala 및 기타 언어
## 버전 관리
- **1.x** (`org.codehaus.jackson`): 더 이상 사용되지 않으며, 새 릴리스 없음
- **2.x** (`com.fasterxml.jackson.core`): 성숙하고 널리 사용되며, LTS 브랜치(예: 2.18, 2.21) 포함
- **3.x** (`tools.jackson`): 활발히 개발 중이며, 새 프로젝트에 권장됨
주요 버전은 서로 다른 Java 패키지와 Maven groupId를 사용하므로, 충돌 없이 동일 프로젝트에 공존할 수 있습니다.
## 핵심 모듈
- **jackson-core**: 스트리밍 API, JSON 전용 구현
- **jackson-databind**: 데이터 바인딩 및 객체 직렬화, 스트리밍 및 어노테이션에 의존
- **jackson-annotations**: 어노테이션 기반 구성
- **jackson-bom**: 일관된 버전 관리를 위한 Bill of Materials
## 데이터 형식 모듈
완전히 지원되는 형식:
- **Avro**: 스키마 지원이 포함된 바이너리 데이터 형식
- **CBOR**: 바이너리 JSON 변형
- **CSV**: 쉼표로 구분된 값
- **Ion**: Amazon Ion 바이너리 형식
- **Protobuf**: Protocol Buffers
- **Smile**: 스트리밍과 100% API 호환되는 바이너리 JSON
- **TOML**: 구성 형식
- **YAML**: 사람이 읽을 수 있는 데이터 형식
타사 모듈은 BEncode, BSON, MessagePack, Rison 등을 추가로 지원합니다.
## 데이터타입 모듈
공식 모듈은 다음을 지원합니다:
- Java 8 타입(Optional, 날짜/시간)
- Guava 컬렉션
- Joda-Time
- JSON-P(javax.json 및 jakarta.json)
- org.json 타입
커뮤니티 모듈은 VAVR, Apache Commons Lang, Java Money 등을 지원합니다.
## 추가 도구
- **Afterburner**: 바이트코드 생성을 통해 데이터 바인딩 속도를 30-40% 향상
- **Mr Bean**: 구현 클래스를 즉시 생성
- **JSON Schema 생성기**: POJO에서 JSON Schema 생성
- **검증기**: Java JSON Schema 검증기
## 커뮤니티 및 지원
Jackson은 메일링 리스트, Gitter 및 GitHub 이슈를 통해 지원됩니다. 프로젝트는 기여를 환영합니다. 자세한 내용은 CONTRIBUTING.md를 참조하세요. 보안 취약점은 비공개로 보고할 수 있습니다.
## 최근 업데이트
- 2025년 9월: Jackson 3 마이그레이션 가이드 추가
- 2025년 9월: 2.20에서 jackson-annotations 버전 관리 체계 변경
- 2024년 2월: 데이터 형식/데이터타입 모듈에 대한 보안 감사
- 2023년 12월: 코딩 스타일 가이드 추가
전체 릴리스 노트 및 지원 상태는 Jackson Releases 위키 페이지를 참조하세요.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.