JSON to JSDoc @typedef 생성기
JSON 객체를 @property 태그가 있는 JSDoc @typedef 블록으로 브라우저에서 변환합니다.
사용법
- 입력 상자에 JSON을 붙여넣거나 입력합니다.
- 선택적으로 루트 typedef 이름을 변경합니다(기본값 Root).
- 생성된 @typedef 블록을 JavaScript 소스에 복사합니다.
자세한 설명
펼치기접기
JSON 객체나 배열을 붙여넣으면 필드마다 @property 줄이 붙은 JSDoc @typedef 블록과, 중첩 객체마다 별도의 typedef를 얻을 수 있습니다. 타입스크립트나 빌드 단계를 도입하지 않고도 순수 자바스크립트에 진짜 타입 검사를 더하는 방법입니다. 편집기는 JSDoc을 읽어 자동 완성과 인라인 오류를 보여 주고, checkJs를 켜면 타입스크립트 컴파일러도 같은 주석을 검사합니다. 필드는 string, number, boolean, 배열 타입으로 매핑되며, null과 빈 배열은 any 타입이 됩니다. 표본 하나로는 무엇이 들어갈 자리인지 알 수 없기 때문입니다. 모든 프로퍼티가 필수로 생성되니, 선택적인 것은 대괄호로 감싸세요. JSDoc이 선택 항목을 표시하는 방식입니다. 모든 처리는 브라우저에서 이루어지며 JSON은 업로드되지 않습니다.
자주 묻는 질문
타입은 어떻게 매핑되나요?
문자열은 string, 모든 숫자는 number, 불리언은 boolean이 되고, 배열은 첫 번째 요소를 기준으로 type[]이 됩니다. 중첩 객체는 각각 고유한 @typedef를 가지며 이름으로 참조됩니다.
null이나 빈 배열은 어떻게 되나요?
샘플에서 타입을 추론할 수 없으므로 null은 * (any), 빈 배열은 *[]로 매핑됩니다. 실제 타입을 안다면 직접 좁혀주세요.
TypeScript 대신 JSDoc을 쓰는 이유는?
JSDoc @typedef는 빌드 단계나 .ts 파일 없이도(예: VS Code나 tsc --checkJs로) 순수 JavaScript를 문서화하고 타입 검사할 수 있게 해줍니다.
제 JSON이 어딘가로 전송되나요?
아니요. 변환은 전적으로 브라우저에서 이루어지며 아무것도 업로드되지 않습니다.
주석만이 아니라 실제 타입 검사를 받으려면 어떻게 하나요?
파일 맨 위에 // @ts-check를 넣거나 tsconfig에 checkJs를 켜서 TypeScript 컴파일러가 그 자바스크립트를 훑게 하세요. 둘 중 하나가 없으면 JSDoc은 편집기가 자동 완성에 참고할 수는 있어도 아무것도 강제하지 않는 문서일 뿐입니다. 켜 두면 빌드 단계 없이도 타입스크립트 검사의 대부분을 얻습니다.
프로퍼티를 선택적으로 표시하려면 어떻게 하나요?
이름을 대괄호로 감싸세요. @property {string} [nickname]은 그 키가 없을 수도 있다는 뜻입니다. 기본값도 대괄호 안에 [role="user"]처럼 넣습니다. 여기서는 모든 항목이 필수로 생성되는데, 표본 하나로는 원본이 어떤 키를 생략할 수 있는지 알 수 없기 때문입니다.
관련 도구
JSON → TypeScript 인터페이스
JSON 샘플에서 TypeScript 인터페이스를 자동 생성 — 키 이름을 따라 재귀적으로 타입 추론.
개발
Mock 데이터 생성기
테스트용 가짜 레코드를 만들어 JSON·CSV·SQL INSERT로 내보내기 — 이름·이메일·날짜·ID·로렘 등 20+ 타입.
개발
JSON to Go 구조체 변환기
JSON 객체를 json 태그가 붙은 Go 구조체로 브라우저에서 즉시 변환합니다.
개발
JSON to Python 데이터클래스 변환기
JSON 객체를 타입 힌트가 포함된 Python @dataclass 정의로 브라우저에서 변환합니다.
개발
JSON to Rust 구조체 변환기 (serde)
JSON 객체를 serde 파생과 타입 매핑 필드가 포함된 Rust 구조체로 브라우저에서 변환합니다.
개발
JSON to Kotlin 데이터 클래스 변환기
JSON 객체를 타입이 지정된 프로퍼티가 포함된 Kotlin 데이터 클래스로 브라우저에서 변환합니다.
개발