JSON → TypeScript

JSON 샘플에서 중첩 객체와 배열의 TypeScript 타입을 만들어 복사·저장해요.

파일과 입력값은 이 브라우저 밖으로 나가지 않아요.

입력

샘플에 있는 값의 타입만 추론해요. 빈 배열은 unknown[]로 표시해요.

JSON → TypeScript 소개

API 응답이나 설정 JSON 샘플을 붙여넣으면 구조에 맞는 TypeScript 타입 별칭을 만들어요. 중첩 객체, 배열, 문자열, 숫자, 불리언과 null을 구분하며 서로 다른 형태가 섞인 배열은 유니온으로 표현해요. 샘플을 코드의 출발점으로 바꾸는 도구이고 실행 시 데이터를 검증하는 스키마를 만드는 기능은 아니에요.

샘플에서 추론할 수 있는 타입의 범위

숫자는 number, 문자열은 string, 참거짓은 boolean으로 변환해요. 문자열이 날짜나 이메일처럼 보여도 특별한 형식을 가정하지 않아요. null은 null 타입으로 남기고 빈 배열은 원소 타입을 알 수 없으므로 unknown[]로 표시해 샘플에 없는 정보를 임의로 만들지 않아요.

배열 안에 서로 다른 객체가 있으면 각 객체의 형태를 유니온으로 이어 붙여요. 빠진 속성을 자동으로 선택적 속성으로 합치지 않으므로 결과가 길어질 수 있지만 입력에서 관찰한 구조를 그대로 볼 수 있어요. 비어 있는 객체는 Record<string, never>로 표현해요.

생성한 타입을 실제 프로젝트에 적용하기

속성 이름은 따옴표가 있는 문자열 키로 출력하므로 공백, 하이픈, 따옴표가 들어간 JSON 키도 안전하게 표현해요. 타입 이름은 영문 식별자 규칙을 따라야 하고 예약어는 쓸 수 없어요. 출력은 export type 문장이며 types.ts 파일로 저장할 수 있어요.

한 번의 샘플에 없는 필드나 다른 응답 형태는 알 수 없어요. 실제 API 문서와 여러 응답을 함께 확인한 뒤 선택적 속성, null 허용 여부, 날짜 형식 등을 수정하세요. 입력 길이와 구조 깊이를 제한하며 너무 큰 데이터라면 대표 구조를 남긴 작은 샘플로 줄여서 변환해요.

JSON → TypeScript 사용 방법

  1. JSON 샘플을 입력하고 생성할 타입 이름을 정해요.
  2. 결과 보기를 눌러 중첩 구조와 배열 타입을 확인해요.
  3. TypeScript 코드에 복사하거나 types.ts로 저장해 검토해요.

자주 묻는 질문

interface로 출력하나요?
현재는 원시 값과 유니온도 표현할 수 있는 export type 별칭으로 출력해요.
빈 배열은 어떤 타입인가요?
원소의 종류를 추측하지 않고 unknown[]로 표시해요.
날짜 문자열을 Date로 바꾸나요?
아니요. JSON에는 Date 타입이 없으므로 문자열은 string으로 유지해요.
결과로 실제 입력도 검증하나요?
아니요. TypeScript 타입 선언만 만들며 런타임 검증 코드는 만들지 않아요.
어느 정도 크기까지 되나요?
500,000자, 20,000개 값, 중첩 32단계 이내의 JSON 샘플을 지원해요.

알아 두면 좋은 점

  • 생성 결과는 관찰된 샘플에 기반해요. 실제 서비스의 계약이나 전체 응답을 보장하지 않으므로 적용 전에 검토하세요.