JSON을 TypeScript로
JSON 샘플을 브라우저에서 TypeScript interface와 type alias로 변환합니다. 선택적 필드, union/null/Date 추론, 루트 타입 이름, .ts 출력 복사/다운로드를 지원합니다.
JSON
문자
0 / 50,000
TypeScript
빠른 시작
자주 쓰는 활용 사례
실제 API 응답을 프론트엔드 페이지, SDK 클라이언트, 통합 테스트에 바로 쓸 수 있는 TypeScript 타입으로 빠르게 정리합니다.
API 계약을 확정하기 전에 JSON 샘플로 선택적 필드, null, union 타입 추론 결과를 확인합니다.
mock JSON 데이터를 fixture, Storybook 스토리, 프로토타입용 타입 정의로 빠르게 변환합니다.
백엔드 payload 형태가 바뀔 때 최신 JSON 샘플로 User, Meta 같은 중첩 선언을 업데이트해야 하는지 확인합니다.
활용 팁
타입 추론 경계
제한 사항 및 호환성
개인정보 보호 및 보안
자주 묻는 질문
객체 루트는 interface 선언을 생성하고, 배열 루트와 원시값 루트는 type alias를 생성합니다. 객체 배열에서는 루트가 type Root = RootItem[] 같은 alias가 되고, 항목 구조는 별도로 선언됩니다.
빈 배열과 빈 객체에는 정확한 구조를 추론할 만큼 충분한 샘플 데이터가 없습니다. 대표 값을 추가할 때까지 unknown[] 또는 Record<string, unknown>으로 유지합니다.
입력한 이름이 이미 유효한 TypeScript 식별자라면 그대로 유지됩니다. 예: ApiResponse. 유효하지 않은 이름은 생성 전에 안정적인 PascalCase 식별자로 정규화됩니다.
현재 생성기는 속성 경로에서 중첩 이름을 정규화하고 충돌도 결정적으로 해결합니다. 그래서 최신 출력은 항상 루트 이름을 붙이는 대신 User, Meta, FooBarClass 같은 이름을 사용합니다.
현재 출력 계약은 의도적으로 export 없는 순수 선언만 반환합니다. 이렇게 하면 결과를 중립적으로 유지할 수 있고, 필요하면 프로젝트 스타일에 맞게 export를 직접 추가할 수 있습니다.