🧩

JSON to TypeScript 인터페이스

JSON을 붙여넣으면 중첩 객체와 배열을 포함한 TypeScript interface를 자동으로 추론합니다

설명: 타입은 이 JSON에서 추론한 것이며 JSON Schema가 아닙니다. 배열 안 요소 구조가 일치하지 않으면 유니온 타입이 생성되고, 필드 이름이 유효한 식별자가 아니면 따옴표가 붙습니다.

사용 설명서

JSON to TypeScript 인터페이스 사용 설명\n\n## 기능 소개\nAPI 응답 JSON을 받았을 때 TypeScript 타입을 직접 작성하는 것은 시간이 많이 걸립니다. 이 도구는 JSON 구조를 읽고 중첩된 interface를 재귀적으로 추론합니다.\n\n## 사용 방법\n1. JSON을 입력란에 붙여넣고 「예시 채우기」를 누르면 복잡한 예시를 먼저 볼 수 있습니다\n2. 루트 인터페이스 이름(기본값 Root)을 입력하고 `interface` 또는 `type` 별칭을 선택합니다\n3. 필드가 누락될 수 있다면 「필드 선택 사항」을 체크해 각 필드에 `?`를 추가합니다\n4. 「TypeScript 생성」을 누르면 결과가 참조 순서대로 출력되며, 하위 타입이 먼저, 루트 타입이 나중에 나옵니다\n5. 「결과 복사」를 눌러 복사합니다\n\n## 주의 사항\n- 타입은 이 하나의 JSON에서 추론됩니다: 필드가 `null`이면 `null`만 얻고, 누락된 필드도 알 수 없습니다. 더 정확하려면 여러 샘플을 사용하거나 직접 보완하세요\n- 배열 안 요소 구조가 일치하지 않으면 유니온 타입이 생성됩니다. 예: `(A | B)[]`\n- 빈 배열은 `unknown[]`만 추론할 수 있으므로 직접 타입을 보완해야 합니다\n- 필드명이 유효한 식별자가 아니면 따옴표로 감싸 TypeScript 문법에 맞춥니다

자주 묻는 질문

배열 안 객체 타입이 일치하지 않으면 어떻게 되나요?

도구가 각기 다른 구조마다 인터페이스를 생성하고 배열 요소 타입을 유니온 타입으로 작성합니다. 예: `(User | Admin)[]`. 생성 후 실제 비즈니스에 맞게 좁힐 수 있습니다.

왜 null 필드의 타입이 null인가요?

이 데이터 하나만으로는 나중에 문자열이나 숫자가 될지 판단할 수 없기 때문입니다. 실제 데이터에 나타난 타입을 모두 보완하거나 수동으로 `string | null`로 바꾸는 것을 권장합니다.

Go나 Java 타입 생성도 지원하나요?

현재는 TypeScript만 생성합니다. 구조를 먼저 살펴보고 싶다면 이 도구로 추론한 중첩 인터페이스 이름을 다른 언어의 구조체로 바꾸는 것도 어렵지 않습니다.

관련 문서

tool-tutorials

JS 포맷 및 압축 온라인 도구 사용법: 브라우저 로컬 처리 단계

JavaScript 코드를 붙여넣으면 브라우저 로컬에서 포맷 또는 압축을 완료할 수 있으며 서버 업로드가 필요 없습니다. 이 글에서는 전체 작업 단계, 대용량 파일 렉과 휴대폰 처리 방법, 그리고 API 디버깅 시 압축 코드를 복원하는 구체적인 방법을 제시하여 코드를 빠르게 이해하고 정리할 수 있도록 도와줍니다.

tool-tutorials

HTML 포맷 후 코드 들여쓰기가 엉망이 되면 어떻게 하나요

이 글은 HTML 포맷 후 들여쓰기 어긋남의 원인과 복구 단계를 명확히 설명하며, 들여쓰기 문자 통일, 들여쓰기 너비 설정, 대용량 파일 버벅임 처리, 모바일 조작 및 일반적인 질문을 다루어 엉망이 된 코드를 계층이 명확하고 바로 읽을 수 있는 레이아웃으로 빠르게 복구할 수 있도록 돕습니다.

tool-tutorials

JS 포맷 및 압축 온라인 도구 사용법 초보자 입문 단계

브라우저의 JS 포맷 및 압축 온라인 도구에 코드를 붙여넣고 포맷 또는 압축을 선택하면 즉시 정돈된 또는 더 작은 결과를 얻을 수 있으며, 오류, 렉, 휴대폰 작업, API 데이터 확인 등 일반적인 문제도 함께 해결할 수 있습니다.

tool-tutorials

AI 글쓰기 도우미 사용법: 초보자가 입력부터 완성까지 거치는 전체 단계

네 단계 흐름과 자주 발생하는 문제 점검표로 초보자가 AI 글쓰기 도우미를 프롬프트 입력부터 최종 원고까지 완주할 수 있게 돕고, 결과가 잘못되거나 도구가 열리지 않을 때 어떻게 처리할지 설명합니다.