생성 및 코드 구조 도구

JSON → TypeScript

JSON 예제를 붙여 넣어 TypeScript interface 또는 타입 별칭을 생성하세요.

JSON 입력

생성된 코드

모든 예제 객체를 합쳐 선택적 필드, 유니언 타입, 중첩 타입을 포함한 TypeScript를 만드세요.

JSON과 생성 코드는 브라우저 안에서만 처리되며 업로드되거나 자동 저장되지 않습니다. 입력에 포함된 코드도 실행하지 않습니다.

도구 소개

JSON 샘플에서 TypeScript 타입 선언을 생성해 필드, 배열, 중첩 구조를 확인합니다. 배열의 모든 요소를 반영하며 일부 객체에 없는 필드는 선택 사항으로 표시합니다. 출력에는 원본 데이터 값이 아닌 타입 정의가 포함됩니다.

사용 방법

  1. 유효한 JSON을 입력하세요. 객체나 객체 배열을 권장합니다.
  2. 루트 타입 이름을 정하고 interface 또는 type alias를 선택하세요.
  3. '변환'을 누르고 빠진 필드의 ?, null 유니언, 중첩 타입을 확인하세요.
  4. 코드를 복사하거나 정리된 루트 타입 이름으로 .ts 파일을 다운로드하세요.

사용 예제

  • [{"id":1,"name":"Tom"},{"id":2,"email":"a@example.com"}]: id는 필수이며 name과 email은 선택적입니다.
  • [1,"a",true]: 요소 타입은 number, string, boolean의 유니언으로 유지합니다.
  • {"date":"2026-01-01","matrix":[[1,2],[3,4]]}: date는 string, matrix는 number[][]입니다.

타입 매핑 규칙

문자열은 string, 정수와 소수는 number, 불리언은 boolean으로 매핑합니다. 필드 누락과 명시적인 null은 따로 기록합니다. 누락에는 ?를 붙이고 알려진 타입에 null도 나타나면 | null을 더합니다. null만 있는 예제에서 문자열을 추론하지 않습니다. 빈 배열은 unknown[]을 사용하고 객체는 안정적인 이름의 중첩 타입을 만듭니다. 유효하지 않은 속성 이름은 따옴표로 감싸며 루트와 타입 이름은 유효하게 정리하고 충돌을 해결합니다. 날짜 문자열은 string으로 유지합니다. 예제만으로 앞으로의 모든 데이터가 생성된 타입에 맞는다고 보장할 수는 없습니다. 입력과 출력은 각각 1 MiB, 중첩 64단계, 노드 100000개, 병합 필드 5000개, 타입 256개까지입니다. 안전한 정수 범위 밖의 값, 유한하지 않은 수, 언더플로로 0이 되는 수는 오류를 표시하며 다른 소수는 브라우저 부동소수점 정밀도를 따릅니다.

주요 용도

  • API 응답 예제로 타입 초안 만들기.
  • 객체 배열에서 누락될 수 있는 필드 확인하기.
  • 중첩 JSON을 읽기 쉬운 타입 선언으로 정리하기.

개인정보 안내

JSON과 생성 코드는 브라우저 안에서만 처리되며 업로드되거나 자동 저장되지 않습니다. 입력에 포함된 코드도 실행하지 않습니다.

결과를 보관하려면 페이지를 떠나기 전에 복사하거나 다운로드하세요.

자주 묻는 질문

날짜 문자열이 왜 Date로 바뀌지 않나요?

JSON에는 Date 타입이 없습니다. 날짜 모양의 문자열도 기본적으로 string으로 유지하며 실행 시 변환은 애플리케이션에서 처리해야 합니다.

선택적 필드는 어떻게 판단하나요?

일부 샘플 객체에만 있는 필드는 선택 사항으로 표시됩니다. 필드 구성을 더 정확하게 반영하려면 대표적인 샘플을 여러 개 입력하세요.

명시적인 null과 필드 누락은 어떻게 다른가요?

null은 필드가 존재하고 값이 비어 있는 경우이며 누락은 필드 자체가 없는 경우입니다. 각각 타입 유니언과 선택적 표시로 나타냅니다.

배열 요소의 타입이 서로 다르면 어떻게 되나요?

호환되는 객체 구조는 합치고 정수와 소수는 number로 통합합니다. 서로 다른 기본 타입은 유니언으로 유지합니다.

출력은 완전한 데이터 검증기인가요?

아니요. TypeScript 타입은 정적인 설명만 제공합니다. 실행 중 JSON을 자동 검사하지 않으며 예제에 없는 데이터 상황도 추론할 수 없습니다.

개발자 도구 목록으로 돌아가기