JSON → Zod 스키마

JSON 데이터에서 Zod 유효성 검사 스키마를 즉시 생성. 중첩 객체, 배열, nullable 필드, 선택적 속성 지원. 브라우저에서 완결.

100% 클라이언트 사이드 데이터가 브라우저 밖으로 나가지 않습니다 무료 · 회원가입 불필요
JSON 입력
Zod 스키마 출력

사용 방법

  1. 왼쪽 패널에 JSON 데이터를 붙여넣습니다 (또는 예시 클릭).
  2. 루트 스키마 이름을 설정합니다 (내보내기 상수와 타입에 사용).
  3. 선택적으로 엄격 모드를 활성화하여 추가 키를 불허합니다.
  4. Zod 스키마 생성을 클릭합니다.
  5. 복사를 클릭하여 프로젝트에 붙여넣습니다.

출력 형식

완전한 TypeScript 스니펫을 출력합니다:

  • import { z } from “zod” — Zod 가져오기
  • const FooSchema = z.object({…}) — 스키마 정의
  • export type Foo = z.infer<typeof FooSchema> — 추론된 TypeScript 타입

주요 사용 사례

  • API 유효성 검사: API 응답 예시에서 스키마를 생성하여 실제 응답을 런타임에 검증.
  • 폼 유효성 검사: 폼 데이터 형태를 Zod 스키마로 변환하여 react-hook-form 등에서 활용.
  • 설정 파일: JSON 파일에서 로드하는 설정 객체를 정의하고 검증.
  • 타입 안전성: TypeScript와 결합하여 하나의 스키마에서 런타임 검증과 정적 타입 추론을 동시에.

FAQ

Zod이란 무엇인가요?

Zod는 TypeScript 우선 스키마 선언 및 유효성 검사 라이브러리입니다. 데이터의 형태를 스키마로 정의하고 런타임에 데이터를 검증할 수 있습니다. API 응답 검증, 폼 유효성 검사, 설정 파싱에 널리 사용됩니다.

타입은 어떻게 추론되나요?

각 JSON 값을 검사합니다: 문자열→z.string(), 불리언→z.boolean(), 정수→z.number().int(), 부동소수점→z.number(), null→z.null(), 배열→z.array(), 객체→z.object(). 객체 배열에서 일부 항목에만 있는 키는 선택적으로 표시됩니다.

엄격 모드란 무엇인가요?

엄격 모드를 활성화하면 모든 z.object()에 .strict()가 추가됩니다. 스키마에 정의되지 않은 추가 키가 포함된 입력 객체를 Zod가 거부합니다. 비활성화 시 추가 키는 자동으로 무시됩니다.

생성된 스키마를 바로 사용할 수 있나요?

생성된 스키마는 좋은 시작점입니다. 문자열·숫자에 .min()/.max() 제약 추가, nullable 필드를 .nullable().optional()로 변경, 중첩 스키마를 별도 상수로 분리하는 등 프로젝트에 맞게 조정하는 것을 권장합니다.

JSON 데이터가 서버로 전송되나요?

아니요. 모든 처리는 브라우저 내에서 완전히 이루어집니다. JSON 데이터는 기기 밖으로 나가지 않습니다.