도구상자FREE ONLINE TOOLS
← 모든 도구

JSON → Java DTO

JSON을 붙여넣으면 Java DTO 클래스를 자동 생성합니다.

JSON 입력
Java DTO 출력
사용법
  1. 왼쪽 입력창에 변환할 JSON 객체를 붙여넣습니다. 중첩 객체나 배열이 있어도 자동으로 분석됩니다.
  2. 루트 클래스명을 원하는 이름으로 입력합니다(기본값: Root).
  3. Lombok @Data 옵션을 켜면 getter/setter/toString 코드 없이 어노테이션 방식으로 생성됩니다.
  4. "변환" 버튼을 누르면 오른쪽에 Java 코드가 생성됩니다.
  5. 복사 버튼으로 결과를 클립보드에 저장해 IDE에 붙여넣습니다.
활용 팁
  • snake_case 자동 변환: JSON의 snake_case 키(예: user_name)는 Java camelCase(userName)로 자동 변환됩니다. Jackson 사용 시 @JsonProperty("user_name") 어노테이션이 필요하면 변환 후 직접 추가하세요.
  • 중첩 객체 처리: 중첩 객체는 static inner class로 생성됩니다. 여러 클래스에서 재사용하는 공통 타입이라면 inner class를 별도 파일로 분리하는 것이 좋습니다.
  • null 값 주의: JSON에서 null 값이 있는 필드는 타입을 추론할 수 없어 Object 타입으로 생성됩니다. 실제 타입을 알고 있다면 생성 후 수동으로 수정하세요.
자주 묻는 질문
Q. 최상위 배열(예: [{...}]) 형태는 어떻게 처리되나요?

배열 안 첫 번째 객체를 기준으로 필드를 추론합니다. 실제 사용 시에는 List<Root> 타입으로 선언해 받으면 됩니다.

Q. 생성된 코드를 바로 Spring Boot 프로젝트에 쓸 수 있나요?

참고용 코드입니다. 패키지 선언, import 구문, 유효성 검증 어노테이션(@NotNull 등)은 포함되지 않으므로 프로젝트에 맞게 수정 후 사용하세요.

Q. 혼합 타입 배열은 어떻게 처리되나요?

배열의 첫 번째 원소를 기준으로 타입을 추론합니다. 원소 타입이 다른 혼합 배열은 List<Object>로 생성됩니다.