jsonecho

JSON TypeScript 변환

JSON 샘플을 붙여 넣으면 이에 맞는 TypeScript 타입을 얻습니다.

도구를 불러오는 중...

JSON TypeScript 변환 사용 방법

  1. 대표적인 JSON 샘플을 붙여 넣으세요. 가능하면 선택적 필드가 모두 채워진 것이 좋습니다.
  2. 루트 타입의 이름을 설정하고 헬퍼 코드도 원하는지 타입만 원하는지 결정하세요.
  3. 생성된 TypeScript 코드를 프로젝트에 복사하세요.

JSON TypeScript 변환 소개

큰 JSON 페이로드에 대한 모델 클래스를 직접 작성하는 일은 지루하고 오타가 끼어드는 곳입니다. 여기에 샘플을 붙여 넣으면 생성기가 구조를 파악합니다. 어떤 필드가 있고, 어떤 것이 객체이고, 어떤 것이 배열이며, 각 값이 어떤 타입인지입니다. 출력은 모든 객체에 대한 인터페이스입니다. "타입만"의 선택을 해제하면 런타임 검사가 있는 Convert 클래스가 추가됩니다.

인터페이스는 컴파일 시점에만 존재합니다. 들어오는 데이터를 런타임에 검사해야 한다면 Convert 클래스를 유지하세요. 모든 것이 브라우저에서 실행되므로 샘플 데이터는 내 컴퓨터에 머뭅니다.

생성된 코드 사용하기

const data: Root = JSON.parse(text)로 캐스팅하거나, 검증이 필요하면 생성된 Convert.toRoot(text)를 사용하세요.

선택적 프로퍼티는 물음표로 쓰고, null 가능한 것은 string | null로 씁니다.

자주 묻는 질문

생성된 TypeScript 코드는 무엇에 의존하나요?

출력은 모든 객체에 대한 인터페이스입니다. "타입만"의 선택을 해제하면 런타임 검사가 있는 Convert 클래스가 추가됩니다.

결과로 JSON을 파싱하려면 어떻게 하나요?

const data: Root = JSON.parse(text)로 캐스팅하거나, 검증이 필요하면 생성된 Convert.toRoot(text)를 사용하세요.

선택적 필드와 없는 필드는 어떻게 처리되나요?

선택적 프로퍼티는 물음표로 쓰고, null 가능한 것은 string | null로 씁니다.

생성기가 둘 이상의 레코드를 살펴보나요?

샘플에 있는 것만 알 수 있습니다. 예시에 없는 필드는 타입에 나타나지 않고, 예시에서 값이 null이면 그 타입은 알 수 없습니다. 가능한 한 많은 필드가 채워진 예시를 붙여 넣거나 서로 다른 레코드가 여러 개 있는 배열을 붙여 넣으세요.

내 JSON이 서버로 전송되나요?

아니요. 생성기는 처음 사용할 때 브라우저로 다운로드되며 크기는 약 1MB이고 모든 것이 로컬에서 실행됩니다.

데이터를 클래스로의 다른 도구

모든 도구 →