Interface Tree
JSON depth에 따라 인터페이스를 분리하고, 각 블록의 경로를 주석으로 남겨 API 문서와 싱크를 맞춥니다.
- 중첩 타입 자동 분리
- 필드 경로 주석 포함
- 네이밍 충돌 방지
Type Safety
JSON2Class는 JSON payload를 기반으로 중첩 인터페이스, 배열 타입, nullable 여부를 추론해 즉시 붙여넣을 수 있는 TypeScript 정의를 생성합니다. 백엔드와 협업할 때 필요한 필드 경로 주석도 함께 제공합니다.
🧭 타입 가이드
string | number | boolean nullable 표기 & readonly 옵션JSON Payload
메인 변환기를 열지 않아도 API 응답을 모아두고 구조를 검토할 수 있도록 JSON 메모장을 제공합니다. 루트 인터페이스명을 정해 두면 이후 타입 정의를 붙여넣을 때 혼선을 줄일 수 있습니다.
TypeScript 인터페이스
// JSON을 입력하고 `TypeScript 변환 실행` 버튼을 눌러 주세요.
JSON depth에 따라 인터페이스를 분리하고, 각 블록의 경로를 주석으로 남겨 API 문서와 싱크를 맞춥니다.
배열 Nullable 토글, 숫자 추론 옵션을 통해 `type[] | null` 또는 `readonly type[]` 형태로 규칙을 통일할 수 있습니다.
같은 변환으로 Markdown, Confluence 표까지 생성되므로 인터페이스와 문서를 동시에 업데이트할 수 있습니다.
샘플 출력
JSON2Class는 객체 키를 기반으로 PascalCase 이름을 생성하고, 배열 요소 타입을 따로 선언합니다. Optional 필드는 `?`로 표시되어 strict 모드에서도 안전합니다.
export interface InventoryResponse {
readonly warehouseId: string;
readonly updatedAt: string;
readonly items: readonly InventoryItem[];
}
export interface InventoryItem {
readonly sku: string;
readonly stock: number;
readonly tags?: readonly string[];
readonly location?: LocationHint | null;
}
export interface LocationHint {
readonly zone: string;
readonly rack?: string;
}