Java Class → JSON Schema 생성기

Java 코드 입력

에디터 로드 중…

JSON Schema 출력

설정

스키마 생성 시 루트로 사용할 class를 선택하세요.

파싱은 브라우저에서 로컬로만 수행됩니다. 소스 코드는 페이지를 떠나지 않습니다.

Java class를 붙여넣어 즉시 JSON Schema를 생성하세요.

컬렉션, 중첩 객체, Map, 주요 주석을 지원합니다.

Java class/record → JSON Schema 변환 방법 – 단계별 가이드

이 온라인 Java class → JSON Schema 변환기는 실제 모델(DTO, struct, class)에서 JSON Schema를 생성하여 payload를 검증하고, 계약을 공유하며, mock JSON을 생성하는 데 도움이 됩니다.

  1. 1단계 – Java 소스 붙여넣기

    • 문서화할 모델을 왼쪽 에디터에 붙여넣습니다.
    • 참조되는 타입도 같은 스니펫에 포함하면 schema가 definitions를 생성할 수 있습니다.
    • 샘플 버튼으로 예제를 불러와 기대 입력 형식을 확인할 수 있습니다.
  2. 2단계 – 루트 class 선택(필요한 경우)

    • 여러 정의가 감지되면, API payload에 해당하는 root를 선택하세요.
    • 출력 스키마는 선택한 root를 기준으로 구성되며, 참조되는 타입의 추가 definition을 포함할 수 있습니다.
  3. 3단계 – JSON Schema 출력 검토

    • 타입, 필수/선택 필드, 중첩된 object/array 구조를 확인하세요.
    • 모델이 다른 모델을 참조하는 경우 definitions $ref 을(를) 확인하세요.
    • 검증, 문서화 또는 schema-first 개발을 위해 스키마를 복사하거나 다운로드하세요.
  4. 4단계 – 검증 또는 mock JSON 생성

    • Mock 데이터 생성 을 클릭하면 스키마가 미리 로드된 상태로 Mock 생성기를 열 수 있습니다.
    • 실제 payload를 스키마로 검증하여 breaking change를 조기에 발견하세요.
    • 고급 스키마 합성(예: anyOf/oneOf/allOf)을 사용한다면 Ajv 같은 전체 validator로 결과를 확인하세요.

스키마 keyword 지원 안내

생성된 스키마에는 $ref 가 포함될 수 있으며, 편집하여 anyOf, oneOf, 또는 allOf를 추가할 수 있습니다. 복잡한 스키마의 경우 전체 JSON Schema validator를 사용하고, 필요하다면 mock 생성 전에 dereference를 수행하세요.

관련 JSON Schema & 코드 생성 도구

스키마 검증, mock payload 생성, JSON 예제 포맷팅, 코드와 계약 동기화에 도움이 되는 도구들입니다.

자주 묻는 질문

어떤 종류의 Java 코드를 지원하나요?

일반 POJO, Lombok 데이터 클래스, record, builder, 중첩 객체, 제네릭, 배열, List/Set, Map을 포함한 DTO를 이해합니다. @JsonProperty, @SerializedName, @JsonInclude, nullable 힌트 같은 주석도 읽어 시리얼라이저와 이름/선택 필드가 일치하도록 합니다.

데이터 타입 감지는 얼마나 정확한가요?

Integer/Double/Boolean 같은 래퍼 타입, Java time 타입, enum, Optional, 제네릭 컬렉션을 가장 가까운 JSON Schema로 매핑합니다. 타입 정보가 부족한 경우(예: 제네릭이 없는 raw List)에도 경고를 표시하고 합리적인 기본값으로 폴백하여 스키마 유효성을 유지합니다.

스키마에서 mock JSON 데이터로 변환하려면 어떻게 하나요?

스키마가 생성되면 "Mock 데이터 생성"을 클릭해 스키마가 미리 로드된 상태로 Mock Generator를 열 수 있습니다. 로케일, 배열 개수 등을 설정해 현실적인 샘플 payload를 즉시 생성하세요.

여러 class가 있을 때 루트 class는 어떻게 선택하나요?

설정 패널을 열고 드롭다운에서 파싱된 class를 선택하세요. 기본값으로 첫 번째 public class를 선택하지만, 페이지를 새로 고치지 않고 언제든 다른 class로 바꿀 수 있습니다.

Java Class → JSON Schema 생성기 | JSONSwiss