JSON to Zod
Generate Zod schemas from JSON
스키마 옵션
const로 내보냅니다. 추론된 타입은 Root(으)로 내보냅니다.
JSON 입력
제한: 파일당 5 MiB 또는 5,242,880자, 중첩 256단계.
Zod 스키마
배열의 모든 항목을 검사합니다. 타입이 다르면 z.union(...)이 되고, 일부 객체에 없는 키는 .optional()이 됩니다. 결과를 출발점으로 삼아 형식, enum, 범위 등으로 더 엄격하게 다듬으세요.
JSON to Zod가 하는 일
JSON to Zod는 샘플 JSON을 TypeScript 런타임 검증에 쓸 수 있는 Zod 스키마로 바꿉니다. JSON은 먼저 라이브러리에 독립적인 스키마 트리로 추론된 뒤 Zod 코드로 출력되며 문자열, 숫자, 불리언, null, 중첩 객체, 배열, 객체 배열을 지원합니다. 다운로드 파일은 import { z } from "zod", 내보낸 스키마, z.infer로 만든 내보낸 타입이 포함된 바로 가져다 쓸 수 있는 .ts 모듈입니다.
사용 방법
- 1.샘플 JSON을 붙여넣거나, .json 파일을 업로드하거나 편집기에 끌어다 놓거나, 예제를 불러옵니다.
- 2.루트 스키마 이름을 정합니다(예: UserSchema). 내보내는 타입은 User가 됩니다.
- 3.생성된 코드와 불확실한 타입에 대한 알림을 확인합니다.
- 4.코드를 복사하거나 .ts 파일로 다운로드합니다. 지우기는 편집기를 비웁니다.
타입 추론 방식
- •첫 항목만이 아니라 배열의 모든 항목을 검사합니다. 종류가 다른 항목은 z.union([...])이 됩니다.
- •같은 배열 안의 객체는 병합됩니다. 일부 객체에 없는 키는 .optional()이 되고, 가끔 null인 키는 z.null()과의 유니온이 됩니다.
- •빈 배열은 근거가 없으므로 항목이 z.unknown()이 되고 알림이 표시됩니다.
- •항상 null인 값은 샘플만으로 실제 타입을 알 수 없으므로 알림과 함께 z.null()로 남습니다.
- •키는 항상 따옴표로 감싸므로 "user-id"나 "__proto__" 같은 이름도 안전하게 처리됩니다.
제한과 정확도
샘플은 한 시점의 데이터 모양일 뿐 전체 계약이 아닙니다. API가 보장한다면 형식(email, url, datetime), enum, min/max, .strict() 등을 직접 추가하세요. JavaScript 안전 범위를 넘는 정수는 파싱 시 정밀도를 잃으므로 표시됩니다. 입력은 최대 5 MiB, 중첩 256단계까지이며 모든 처리는 브라우저에서 이루어집니다.
