JSON을 Java로 변환
JSON 데이터를 Java 코드로 변환합니다
JSON 입력
Java 출력
JSON을 Java로란?
Java는 구조화된 데이터를 위해 POJO(Plain Old Java Object)를 사용합니다. Jackson 또는 Gson과 함께 JSON을 사용할 때 올바른 필드 이름과 타입을 가진 적절한 Java 클래스가 필요합니다. JSON 사양은 객체, 배열, 문자열, 숫자, 불리언을 정의하지만 Java는 각 중첩 객체에 대한 명시적 클래스 정의가 필요합니다. 대형 JSON이나 자주 변경되는 API의 경우 수동 작성이 번거롭습니다.
이 도구는 JSON에서 Java POJO를 생성합니다. 구성 패널에서 패키지 및 클래스 이름을 설정하세요. 보일러플레이트를 줄이기 위해 @Data 또는 @Getter/@Setter를 사용하려면 Lombok을 활성화하세요. 선택적 필드에 Optional<T> 또는 @Nullable을 사용하려면 Nullable 타입을 활성화하세요. 출력은 ObjectMapper.readValue()(Jackson) 또는 Gson.fromJson()과 함께 작동합니다.
변환은 완전히 브라우저에서 수행됩니다. JSON은 서버로 전송되지 않습니다. 브라우저의 네트워크 탭을 열어 확인할 수 있습니다.
JSON을 Java로 변환이 도움이 되는 경우
Spring Boot, Android 또는 REST API를 사용하는 Java 앱을 개발할 때 타입이 지정된 POJO가 필요합니다. 파싱을 위해 Jackson 또는 Gson을 사용하세요. 샘플 응답을 여기에 붙여넣어 적절한 클래스를 생성하세요.
이 도구 사용 방법
JSON 붙여넣기 또는 업로드
JSON을 복사하여 왼쪽 편집기에 붙여넣습니다. 업로드를 클릭하여 .json 또는 .txt 파일을 로드할 수도 있습니다. 샘플 데이터를 보려면 샘플 버튼을 사용하세요. 구성 패널에서 패키지 이름(예: com.example.model)과 클래스 이름(예: User)을 설정하세요. @Data 또는 @Getter/@Setter를 위해 Lombok을 활성화하세요.
복사 또는 다운로드
복사를 사용하여 결과를 클립보드에 넣거나 다운로드를 사용하여 .java 파일로 저장하세요. 프로젝트에 붙여넣으세요. 임포트나 패키지 이름을 조정해야 할 수 있습니다.
JSON을 Java로 변환 예시
다음은 JSON 객체에서 Java POJO 클래스를 생성하는 예시입니다.
예시: 구독자 레코드
JSON 입력:
생성된 Java 출력:
JSON을 Java로 변환이 도움이 되는 경우
대부분의 개발자는 REST API 통합 시 이 기능이 필요합니다. Postman, Spring의 RestTemplate 또는 HttpClient를 통해 요청을 보내면 응답이 JSON으로 옵니다. 여기에 붙여넣으면 Jackson 또는 Gson용 타입이 지정된 POJO가 생성됩니다. 대용량 응답에서 특정 값을 추출하려면 jq가 명령줄에서 유용합니다.
마이크로서비스는 종종 JSON을 교환합니다. 다운스트림 서비스가 API를 변경하면 업데이트된 DTO가 필요합니다. 이 도구는 빠른 재생성을 가능하게 합니다. 먼저 두 JSON 파일을 병합하려면 JSON 병합 도구를 사용하세요.
데이터베이스 내보내기, 구성 파일 또는 이벤트 페이로드는 종종 JSON입니다. 여기에서 처리하면 구조를 이해하고 가져오기 스크립트, 메시지 소비자 또는 지속성 계층을 위한 Java 클래스를 생성하는 데 도움이 됩니다.
자주 묻는 질문
Lombok 또는 수동 getter/setter?
Lombok은 컴파일 시 getter, setter, 생성자, equals/hashCode를 생성합니다. 보일러플레이트를 크게 줄입니다. 클래스패스에 Lombok과 활성화된 어노테이션 처리가 필요합니다. Lombok 없이는 수동 getter와 setter가 생성됩니다.
Jackson 대 Gson?
두 라이브러리 모두 생성된 POJO와 함께 작동합니다. Jackson은 사용자 지정 키 이름에 @JsonProperty를 사용하고, Gson은 @SerializedName을 사용합니다. 생성기는 일반적으로 Jackson 호환 출력을 생성합니다. 필요한 경우 Gson 어노테이션을 수동으로 추가하세요.
데이터가 어디로 전송됩니까?
아니요. 생성은 완전히 JavaScript를 사용하여 브라우저에서 수행됩니다. 서버로 전송되는 데이터가 없습니다. 브라우저의 네트워크 탭을 통해 확인할 수 있습니다.
Nullable 타입?
API 응답에서 null이거나 없을 수 있는 선택적 JSON 필드에 Optional<T> 또는 @Nullable을 사용하려면 Nullable 타입을 활성화하세요.
레코드 클래스?
Java 16+ 레코드는 불변이고 간결합니다. 이 도구는 일반 클래스를 생성할 수 있습니다. 레코드의 경우 출력을 편집하거나 다른 생성기를 사용해야 할 수 있습니다.
관련 도구
Java JSON 라이브러리는 Jackson 및 Gson을 참조하세요. JSON은 JSON 사양 및 RFC 8259를 참조하세요. 개요는 MDN JSON을 참조하세요. API 테스트는 Postman을 참조하세요.