JSON to TypeScript 변환기는 모든 JSON 데이터에서 TypeScript 인터페이스를 생성합니다. 중첩된 객체, 배열, 선택적 필드, 설정 가능한 루트 이름을 지원합니다. 모든 것이 브라우저에서 실행되며 데이터가 서버로 전송되지 않습니다.
자주 묻는 질문
중첩된 객체는 어떻게 처리되나요?
도구는 중첩된 객체에 대해 자동으로 별도의 인터페이스를 만듭니다. 각 중첩 객체는 해당 키에서 파생된 이름을 가진 자체 인터페이스를 얻습니다. 객체 배열도 처리되며 첫 번째 항목에서 요소 타입을 추론합니다.
JSON 데이터가 서버로 전송되나요?
아니요, 모든 변환이 완전히 브라우저에서 이루어집니다. JSON 데이터가 기기를 벗어나지 않습니다. 민감한 API 응답이나 비공개 설정 파일 작업에도 안전합니다.
생성된 타입을 사용자 지정할 수 있나요?
네, 사용자 지정 루트 인터페이스 이름을 설정하고, export 키워드를 토글하고, 모든 필드를 선택적으로 만들 수 있습니다. 이러한 옵션은 기존 코드베이스 규칙에 맞는 타입을 생성하는 데 도움이 됩니다.
혼합 타입 배열이나 빈 배열은 어떻게 처리되나요?
빈 배열은 가장 안전한 기본값인 `unknown[]`로 타이핑됩니다. 혼합 타입 배열은 유니온 요소 타입을 만듭니다(예: `(string | number)[]`). 객체 배열은 첫 번째 null이 아닌 요소에서 형태를 추론하므로 요소가 이질적인 키를 가지면 결과가 불완전합니다. 대표 샘플을 제공하거나 수동으로 유니온을 병합하세요.
`null` 필드가 있는 JSON이 왜 `unknown` 타입을 만드나요?
단일 `null` 값에서 TypeScript는 의도된 타입을 추론할 수 없습니다 — `string | null`, `number | null` 등일 수 있기 때문입니다. 선택을 강제하기 위해 `unknown`을 출력합니다. 모든 필드에 null이 아닌 예시 값이 있는 샘플을 제공하고 생성 후 선택적 필드에 수동으로 `| null`을 추가하는 것이 좋습니다.