Picovert

JSON to TypeScript

JSON 샘플로부터 TypeScript 인터페이스를 생성하고, 중첩 타입까지 추론하는 작업을 브라우저에서 처리하세요.

데이터 수집 없음

데이터베이스도, 계정도 없습니다. 여러분의 파일을 볼 수 없습니다.

초고속

브라우저 네이티브 처리 — 업로드 없이, 기다림 없이.

100% 무료

제한 없음, 워터마크 없음, 숨은 비용 없음.

계정 불필요

로그인? 없습니다. 그냥 열고 바로 사용하세요.

JSON으로부터 TypeScript 인터페이스 생성하기

실제 페이로드로부터 타입 만들기

새 API를 사용하기 시작할 때 타입 안전성을 가장 빠르게 확보하는 방법은, 실제 응답을 가져와 TypeScript 인터페이스로 바꾸는 것입니다. 손으로 하면 느리고 실수하기 쉬우며, 특히 객체가 몇 단계 깊이로 중첩되면 더욱 그렇습니다.

JSON 샘플을 붙여 넣으면 이 도구가 구조를 훑어 그에 맞는 인터페이스를 만들고, 중첩된 객체는 그것을 담은 키의 이름을 따서 명명하므로, 출력이 직접 작성했을 법한 모습으로 읽힙니다.

선택적 필드, 유니온, 그리고 병합된 배열 형태

추론은 뻔한 수준을 넘어섭니다. 배열이 객체를 담고 있으면 그 형태들이 하나의 인터페이스로 병합됩니다. 일부 요소에 없는 키는 물음표가 붙는 선택적 필드가 되고, 요소마다 타입이 다른 필드는 number | string 같은 유니온이 됩니다.

빈 배열은 잘못 추측하는 대신 unknown[]이 되며, 유효한 식별자가 아닌 키는 따옴표로 감싸 생성된 코드가 항상 컴파일되도록 합니다.

읽기 쉽고 바로 붙여 넣을 수 있는 출력

중첩 인터페이스는 그것을 사용하는 타입보다 먼저 출력되고, 중복된 이름은 자동으로 구분되므로, 결과를 .ts 파일에 그대로 붙여 넣어도 따로 재배치할 필요가 없습니다. 루트 인터페이스의 이름은 도메인에 맞게 바꿀 수도 있습니다.

생성기는 여러분이 준 샘플로부터 추론하므로, 선택적 필드와 예외적인 경우의 필드까지 포함해 JSON이 대표성을 잘 갖출수록 결과 타입이 더 정확해집니다.

로컬에서 처리되며 업로드되지 않음

모든 작업이 브라우저에서 실행됩니다. 실제 API 데이터를 담고 있는 경우가 많은 JSON이 서버로 업로드되지 않습니다.

생성은 즉시 이루어지며, 페이지가 한 번 로드되면 오프라인에서도 계속 작동합니다.

자주 묻는 질문

중첩된 객체는 어떻게 처리되나요?

각 중첩 객체는 그것을 담은 키의 이름을 따서 자체 인터페이스가 되고, 부모에서 참조됩니다. 인터페이스는 의존 대상이 먼저 나오도록 정렬됩니다.

필드가 서로 다른 객체 배열은 어떻게 되나요?

그 형태들이 하나의 인터페이스로 병합됩니다. 일부 요소에 없는 키는 선택적 필드가 되고, 타입이 다른 필드는 number | string 같은 유니온이 됩니다.

루트 타입의 이름을 바꿀 수 있나요?

네. 루트 인터페이스는 기본값이 Root이며, 유효한 TypeScript 식별자라면 무엇이든 대신 지정할 수 있습니다.

제 JSON이 업로드되나요?

아니요. 타입 생성은 전적으로 브라우저에서 이루어지며 데이터는 기기를 벗어나지 않습니다.