표준 타입 어노테이션을 사용해 JSON, MessagePack, YAML, TOML을 인코딩하고 디코딩하는 빠른 Python 직렬화 및 검증 라이브러리입니다.
google/gson
소스 코드를 직접 수정할 수 없는 객체를 포함해, Java 객체를 JSON으로 변환하고 다시 객체로 읽어 오는 Java 라이브러리입니다.
- 스타
- 24,238
- 포크
- 4,491
- 열린 이슈
- 340
- 마지막 커밋
- 10일 전
어떤 프로젝트인가요?
Gson은 간단한 toJson() 및 fromJson() 메서드로 Java 객체를 JSON 문자열로 변환하고, JSON을 동등한 Java 객체로 다시 파싱할 수 있습니다. 많은 대안과 달리 클래스에 Java 어노테이션을 붙일 필요가 없어, 소스 코드를 수정할 수 없는 기존 객체나 변경할 수 없는 객체에도 사용할 수 있습니다.
이 라이브러리는 Java Generics를 폭넓게 지원하며, 깊게 중첩된 객체와 복잡한 상속 계층 구조, 제네릭 타입을 처리하는 데 중점을 둡니다. 기본 매핑이 적합하지 않은 경우 개발자가 객체의 사용자 지정 표현 방식을 정의할 수도 있습니다.
Gson은 현재 유지보수 모드로 운영됩니다. 기존 버그는 수정하지만, 대규모 신규 기능이 추가될 가능성은 낮습니다. 이 프로젝트는 Java에 초점을 두고 있으며, 리플렉션 기반 런타임이 코드 축소 및 난독화와 충돌하므로 Android 릴리스 앱에는 권장하지 않습니다.
핵심 기능
- 01toJson()으로 Java 객체를 JSON으로 변환하고 fromJson()으로 다시 객체로 변환
- 02소스 코드가 없거나 어노테이션이 없는 클래스에서도 사용 가능
- 03Java Generics를 폭넓게 지원
- 04객체에 대한 사용자 지정 직렬화 표현 방식을 정의 가능
- 05복잡한 상속 계층 구조와 깊게 중첩된 객체를 처리
활용 사례
- JSON API 응답을 Java 모델 클래스로 파싱
- 서드파티 객체나 변경할 수 없는 Java 객체를 JSON으로 직렬화
- Java 객체 상태를 JSON 파일로 저장
- JSON 데이터를 주고받는 Java 백엔드 구축
빠른 시작
- 1
Gradle 빌드에 Gson 종속 항목을 추가하세요
implementation 'com.google.code.gson:gson:2.14.0' - 2
또는 Maven pom.xml에 Gson 종속 항목을 추가하세요
- 3
Maven으로 소스에서 프로젝트를 빌드하세요
mvn clean verify
사용 전 알아둘 점
- Gson은 유지 관리 모드이므로 대규모 새 기능이 추가될 가능성은 낮습니다.
- Gson의 리플렉션은 축소 및 난독화 과정에서 작동하지 않을 수 있으므로 Android에서 JSON을 처리할 때는 권장되지 않습니다.
- 소스에서 빌드하려면 JDK 17 이상이 필요하며, 빌드에는 그보다 최신 JDK가 지원되지 않습니다.
토픽
자주 묻는 질문
- gson은(는) 무엇인가요?
- 소스 코드를 직접 수정할 수 없는 객체를 포함해, Java 객체를 JSON으로 변환하고 다시 객체로 읽어 오는 Java 라이브러리입니다. Gson은 간단한 toJson() 및 fromJson() 메서드로 Java 객체를 JSON 문자열로 변환하고, JSON을 동등한 Java 객체로 다시 파싱할 수 있습니다. 많은 대안과 달리 클래스에 Java 어노테이션을 붙일 필요가 없어, 소스 코드를 수정할 수 없는 기존 객체나 변경할 수 없는 객체에도 사용할 수 있습니다.
- gson은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- gson은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- gson은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. gson의 마지막 커밋은 2026년 10월 11일입니다.
- gson은(는) 어디에 사용할 수 있나요?
- JSON API 응답을 Java 모델 클래스로 파싱 서드파티 객체나 변경할 수 없는 Java 객체를 JSON으로 직렬화 Java 객체 상태를 JSON 파일로 저장 JSON 데이터를 주고받는 Java 백엔드 구축
- gson는 어떻게 설치하나요?
- Gradle 빌드에 Gson 종속 항목을 추가하세요: implementation 'com.google.code.gson:gson:2.14.0' 또는 Maven pom.xml에 Gson 종속 항목을 추가하세요 Maven으로 소스에서 프로젝트를 빌드하세요: mvn clean verify
- gson은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/google/gson
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
C++ 코드에서 STL과 비슷한 문법으로 JSON을 파싱하고 생성·조작·직렬화할 수 있는 헤더 전용 C++11 라이브러리입니다.
LLM 프롬프트에 구조화된 데이터를 전달할 때 토큰 사용량을 줄이도록 설계된, 간결하고 사람이 읽기 쉬운 JSON 인코딩 형식입니다.
최소한의 설정으로 운영 환경에 적합한 Spring 기반 애플리케이션과 서비스를 만들 수 있는, 기본 설정이 잘 갖춰진 Java 프레임워크입니다.
엔터프라이즈 애플리케이션 개발을 위한 핵심 Java 프레임워크로, Spring 생태계 전반에 의존성 주입, MVC, 인프라 지원을 제공합니다.
먼저 파싱하거나 언팩하지 않고 바이너리 데이터를 바로 읽을 수 있는 크로스 플랫폼 직렬화 라이브러리입니다.