차이가 있는 레코드 준비
루트는 객체 또는 객체만 들어 있는 비어 있지 않은 배열이어야 합니다. 배열은 요소 모델로 합쳐지며, 데이터에 없는 래퍼 필드는 만들지 않습니다. 내부 배열은 재귀적으로 추론합니다.
타입 생성
배열 입력은 요소 모델을 생성합니다. 배열 전체를 읽을 때는 List<Root>를 사용하세요.
파싱과 생성은 브라우저에서 수행합니다. 입력은 전송하거나 저장하지 않습니다.
배열 입력: 요소 모델을 생성합니다. List<Root>으로 읽으세요.
클래스 2개 · nullable 필드 2개
API 응답만 있고 모델 정의가 없다면 JSON을 Java로 변환해 초안을 만들 수 있습니다. 여러 객체를 배열로 제공하면 첫 레코드에 없던 필드와 null도 타입 결정에 반영됩니다.
이 JSON 변환기는 실제 계약을 대신하지 않습니다. Java 클래스 생성 결과에서 필수 항목과 향후 가능한 값은 API 명세를 보고 다시 확인해야 합니다.
JSON을 Java로 변환할 때 같은 배열 위치의 모든 객체를 합칩니다. 나중에 등장한 필드도 남기며, 누락이나 null을 관찰하면 nullable 타입으로 넓힙니다.
기호나 예약어가 있는 키를 안전한 속성명으로 바꾼 뒤 Jackson 어노테이션으로 원래 이름과 연결합니다. 같은 이름이 만들어지면 숫자 접미사를 붙여 구분합니다.
루트는 객체 또는 객체만 들어 있는 비어 있지 않은 배열이어야 합니다. 배열은 요소 모델로 합쳐지며, 데이터에 없는 래퍼 필드는 만들지 않습니다. 내부 배열은 재귀적으로 추론합니다.
관찰 모드는 누락되거나 null인 필드만 넓힙니다. 전체 모드는 Java 기본형을 박싱하고 Kotlin 속성에 ?와 null 기본값을 추가합니다. 중첩을 끄면 보조 클래스가 같은 파일의 최상위에 놓입니다.
자동 생성은 350ms 뒤 실행합니다. 끄면 생성 버튼이나 Ctrl/Cmd+Enter를 사용할 수 있습니다. 편집 즉시 내보내기가 중지되고, 지우기와 예제 불러오기는 입력·옵션·결과를 한 번 되돌릴 수 있습니다.
부호 있는 64비트 범위의 일반 정수는 long/Long, 더 큰 정수는 BigInteger가 됩니다. 1.0이나 1e3 같은 소수·지수 표기는 BigDecimal을 사용하며 JavaScript 부동소수점을 거치지 않습니다.
같은 화면에서 Kotlin data class로 전환합니다. 누락 또는 null이 있는 속성은 T? = null, 나머지는 기본값 없이 생성합니다. 빈 루트 객체는 매개변수가 없는 일반 class입니다.
ASCII camelCase 이름과 일정한 숫자 접미사를 사용합니다. Java 필드, Kotlin 생성자 매개변수와 getter에 각각 JsonProperty가 붙습니다. 완전 수식 타입명으로 루트 이름 String이나 List와의 충돌도 피합니다.
기본 Java 출력은 public 필드와 static 중첩 클래스입니다. Kotlin은 중첩 데이터 클래스를 사용합니다. 중첩을 끄면 Java 보조 클래스는 public이 아닌 최상위 클래스가 되어 여전히 한 파일로 컴파일할 수 있습니다.
JSON을 Java로 생성한 클래스는 Jackson 2.x 기반 프로젝트에 넣을 수 있습니다. 패키지 선언과 의존성은 프로젝트에서 추가하세요. Kotlin 모듈과 null 설정도 확인해야 하며, Spring Boot의 모든 버전에 맞춘 설정 파일을 만들지는 않습니다.
네. 비어 있지 않은 객체 배열의 모든 요소를 병합합니다. 생성 파일은 요소 클래스이므로 배열 응답을 읽을 때 List<Root> 타입을 지정하세요.
입력은 현재 브라우저에서 파싱하고 소스로 변환합니다. 서버에 보내거나 저장하지 않으며 원격 URL 읽기나 샘플 공유 링크도 제공하지 않습니다.
일반 정수는 범위에 따라 long/Long 또는 BigInteger입니다. 소수와 지수 표기는 BigDecimal입니다. Object/Any에 들어가는 숫자는 별도의 Jackson 정밀도 옵션을 켜세요.
같은 위치의 샘플 타입이 서로 다르거나 null만 있기 때문입니다. 충분한 근거 없이 타입을 추측하지 않고 넓은 타입을 남깁니다. 계약을 확인한 뒤 모델을 구체화하세요.
추론 사례를 개선하고 싶으신가요?
JSON을 Java로 변환한 뒤 nullable 필드와 키 매핑을 검토하세요. 실제 프로젝트에서 Jackson 설정을 적용하고 저장한 소스를 컴파일해 확인하세요.