256 Tools

JSON to TypeScript

TypeScript 출력
export interface Root {
  id: number;
  name: string;
  active: boolean;
  tags: string[];
  profile: Profile;
}

export interface Profile {
  age: number;
  city: string;
}
출력 방식

관련 외부 도구

일부 링크는 제휴 링크입니다.

관련 도구

JSON을 TypeScript 타입으로 한 번에 변환하세요. API 응답이나 JSON 객체를 붙여 넣으면 중첩 객체, 배열, 선택적 필드가 자동으로 처리된 깔끔한 interface 또는 type alias를 즉시 생성합니다. 모든 처리가 브라우저에서 이루어지며 업로드되지 않습니다.

사용 방법

  1. 입력 박스에 JSON을 붙여 넣습니다.
  2. 루트 타입 이름을 설정하고 interface 또는 type, null 처리 방식을 선택합니다.
  3. 생성된 TypeScript를 프로젝트에 복사합니다.

타입 추론 방식

각 객체는 독립적인 interface가 되며, 중첩 객체는 각자의 명명된 interface를 갖습니다. 객체 배열은 하나의 형태로 병합되고, 일부 항목에 없는 키는 선택적(optional)이 됩니다. null 값은 nullable 타입 또는 선택적 프로퍼티로 처리됩니다.

JSON이 TypeScript interface로 변환되는 그림JSONinterface

기능

중첩 객체 처리

깊게 중첩된 JSON이 서로를 참조하는 명확한 독립 interface로 분리됩니다.

배열 형태 병합

객체 배열이 하나의 타입으로 합쳐지며, 항목 간 다른 필드는 선택적이 됩니다.

선택적·nullable 필드

null 값을 nullable 타입으로 만들지, 선택적 프로퍼티로 처리할지 선택할 수 있습니다.

interface 또는 type

코드베이스 스타일에 맞게 명명된 interface 또는 type alias 중 선택하여 출력합니다.

커스텀 루트 이름

최상위 타입에 User나 ApiResponse 등 원하는 이름을 지정할 수 있습니다.

주요 활용 사례

API 응답 타입 정의

샘플 응답을 붙여 넣어 앱 전체에서 사용할 타입을 가져옵니다.

목 데이터·픽스처에서 타입 생성

샘플 데이터에서 타입을 생성하여 코드를 타입 안전하게 유지합니다.

설정 파일·데이터 파일

JSON 설정 파일이나 콘텐츠 파일의 타입을 몇 초 만에 생성합니다.

TypeScript 학습

실제 JSON이 TypeScript interface와 유니온 타입에 어떻게 매핑되는지 확인합니다.

참고 사항

  • 타입은 붙여 넣은 샘플에서 추론되므로 필요한 필드를 모두 포함하세요.
  • 빈 배열은 추론할 항목이 없어 unknown[]이 됩니다.
  • 프로덕션에 사용하기 전에 유니온 타입과 선택적 필드 출력을 반드시 검토하세요.
  • 모든 처리가 사용자 기기에서 이루어지며 서버로 전송되지 않습니다.

자주 묻는 질문

중첩 객체도 처리되나요?
네. 각 중첩 객체가 고유한 명명된 interface가 되며, 부모는 해당 이름으로 참조합니다.
배열은 어떻게 타입이 지정되나요?
객체 배열은 하나의 interface로 병합되며, 일부 항목에 없는 키는 선택적이 됩니다. 혼합 원시 타입 배열은 (string | number)[]와 같은 유니온 타입이 됩니다.
null 값은 어떻게 처리되나요?
기본적으로 null은 nullable 타입이 됩니다. null을 선택적 프로퍼티로 처리하도록 변경할 수도 있습니다.
interface와 type 중 무엇을 써야 하나요?
둘 다 사용 가능하며 코드베이스에 맞게 선택하세요. 객체 형태에는 interface가 일반적이며, 유니온 등 유연한 표현에는 type alias가 적합합니다.
JSON이 서버에 업로드되나요?
아니요. 생성기는 브라우저에서만 실행됩니다. 서버로 전송되거나 회원가입이 필요하지 않습니다.

광고 및 분석을 위해 쿠키를 사용합니다.