JSON을 Kotlin으로
JSON에서 kotlinx.serialization, Gson, Moshi, Jackson용 Kotlin data class 생성
JSON을 붙여넣거나 예제를 불러오면 Kotlin 코드를 생성합니다.
JSON을 Kotlin으로 변환하면 생성되는 것
JSON을 Kotlin으로 변환하는 이 도구는 API 응답이나 모든 JSON 샘플을 kotlinx.serialization, Gson, Moshi, Jackson용 또는 라이브러리 없는 Kotlin data class로 바꿉니다. user_name → userName처럼 속성 이름이 키와 다르면 선택한 라이브러리의 어노테이션(@SerialName, @SerializedName, @Json 또는 @JsonProperty)이 JSON에 다시 매핑합니다. class, object, when, fun 같은 키워드는 백틱으로 감싸며, 123abc나 user-name처럼 유효한 이름이 아닌 키는 이름 설정에 따라 매핑과 함께 이름을 바꾸거나 백틱으로 감싸 유지합니다.
사용 방법
- 1.JSON을 붙여넣거나, .json 파일을 업로드하거나 끌어다 놓거나, 예제 중 하나를 불러옵니다.
- 2.루트 타입 이름, 속성 이름 방식, null 허용 방식을 정합니다.
- 3.직렬화 라이브러리를 고르고, 모든 클래스에 인수 없는 생성자가 필요하면 기본값을 켭니다.
- 4.고급에서 패키지를 지정하거나 클래스를 루트 클래스 안에 중첩합니다.
- 5.출력 아래의 알림을 읽은 뒤 코드를 복사하거나 .kt 파일을 다운로드합니다.
타입 추론 방식
- •첫 항목만이 아니라 배열의 모든 항목을 검사하며, 같은 배열 안의 객체는 병합됩니다.
- •일부 객체에 없는 키는 선택 항목으로 T? = null이 되고, 가끔 null인 키는 T?가 됩니다. 두 경우는 구분되므로 {"id": 1, "name": "A"}와 {"id": 2}에서는 val name: String? = null이 생성됩니다.
- •32비트에 들어가는 정수는 Int, 더 큰 정수는 Long, 64비트를 넘는 값은 BigInteger(kotlinx.serialization에서는 JsonPrimitive)가 됩니다. ±2^53을 넘는 값에는 JavaScript 클라이언트가 반올림할 수 있다는 알림이 붙습니다.
- •같은 위치에 1과 2.5가 있으면 Double로 확장되고, 그 밖의 혼합은 알림으로 표시됩니다.
- •타입 매핑: 문자열 → String, 소수 → Double, 불리언 → Boolean, 배열 → List<T>, 객체 → data class, 빈 객체 → class, 알 수 없음 또는 혼합 → Any?(kotlinx.serialization에서는 JsonElement?).
제한과 개인정보 보호
샘플은 한 시점의 데이터 모양일 뿐 전체 API 계약이 아닙니다. 코드를 사용하기 전에 선택 필드, 범용 타입, 숫자 범위를 확인하세요. 생성된 코드에는 serialization 컴파일러 플러그인, Moshi 코드 생성, jackson-module-kotlin 같은 라이브러리별 일반 설정이 필요합니다. Gson은 Kotlin 생성자를 거치지 않으므로 모든 속성에 기본값이 없으면 null이 아닌 속성에도 null이 들어갈 수 있습니다. 입력은 5 MB와 중첩 256단계로 제한되며, 2 MB부터는 생성 버튼을 눌러야 생성됩니다. 모든 처리는 브라우저에서 이루어지고 JSON은 업로드되지 않습니다.
