JSON Zod 스키마 변환
JSON to Zod Schema
JSON 예시로 Zod 스키마를 만들며 nullable·optional·열거형을 추론합니다.
예시 JSON 문서를 Zod 스키마로 만듭니다. TypeScript 타입이 주지 못하는 런타임 검사가 이쪽입니다. 출력은 선언 순서대로 놓인 `z.object` 상수들과 루트에 대한 추론 타입이라, 한 번 붙여넣으면 파서와 타입을 함께 얻습니다.
예시 JSON
.json 파일 놓기
이 탭에서 읽습니다. 올라가지 않습니다.
가진 원소를 전부 넣으세요. 레코드가 하나 늘 때마다 추측이 좁아집니다. 어느 하나에 없는 필드가 선택 필드가 되는 근거입니다.
TypeScript
사용 방법
가진 레코드를 되도록 많이 붙여넣습니다
배열은 첫 원소만이 아니라 모든 원소를 읽어서 합칩니다. 레코드가 셋이면 하나일 때보다 훨씬 많은 것을 알려 줍니다. 어느 하나에 없는 필드가 바로 그 필드를 선택으로 만드는 근거이기 때문입니다.
루트 타입 이름을 정합니다
중첩된 객체는 그것을 담은 키 이름을 따르고, 배열이면 단수형으로 바뀝니다. `users`는 `User`가 됩니다. 이름을 직접 정해야 하는 건 루트뿐입니다.
출력 아래의 숫자를 확인합니다
타입 수, 선택 필드 수, 유니온 수, 합친 레코드 수가 나옵니다. 유니온이 0보다 크면 어떤 필드가 표본 안에서 서로 다른 종류의 값을 가졌다는 뜻이니, 결과를 코드베이스에 붙여넣기 전에 한 번 볼 만합니다.
붙여넣고 그것으로 파싱합니다
블록은 자식이 먼저 나오도록 출력됩니다. Zod에서는 이게 중요합니다. 나중에 선언될 상수를 참조하는 `z.object`는 타입 오류가 아니라 임포트 시점 예외가 됩니다. 나온 순서를 그대로 두세요.
자주 묻는 질문
스키마가 API 명세와 다른데요?
명세가 아니라 표본을 설명하기 때문입니다. 선택으로 표시된 필드는 붙여넣은 레코드 중 하나에 없었을 뿐이고, 필수로 나온 필드도 표본이 적었을 뿐 실제로는 선택일 수 있습니다. 손으로 조일 초안으로 보세요.
email이나 uuid 같은 정교한 제약도 붙나요?
없습니다. 전부 `z.string()`, `z.number()`, `z.boolean()`이고, 표본의 모든 숫자가 정수였을 때만 `.int()`가 붙습니다. @가 들어 있다고 `.email()`을 붙이는 건 추측이고, 잘못 붙은 제약은 운영에서 멀쩡한 데이터를 거부합니다.
빈 배열은 어떻게 되나요?
`z.array(z.unknown())`가 됩니다. 빈 배열은 원소 타입에 대해 아무것도 말해 주지 않기 때문입니다. 배열이 비어 있지 않은 레코드를 하나 붙여넣으면 채워집니다.
Zod 몇 버전용인가요?
Zod 3과 4에서 똑같이 쓰이는 호출만 냅니다. `z.object`, `z.array`, `z.union`, `.nullable()`, `.optional()`, 그리고 인자 두 개짜리 `z.record(z.string(), z.unknown())`입니다. 버전을 타는 API는 쓰지 않습니다.
이 도구로 이어지는 것
JSON 타입스크립트 변환
JSON to TypeScript
JSON 예시에서 타입스크립트 인터페이스를 추론하고 선택적 필드와 유니온을 합칩니다.
JSON 스키마 생성
JSON to JSON Schema
하나 또는 여러 예시에서 JSON 스키마를 추론하고 발견한 형태를 합칩니다.
JSON 정렬·검사
JSON Formatter & Validator
JSON을 보기 좋게 정렬하거나 압축하고, 문법 오류가 난 줄과 열을 정확히 짚어 줍니다.
YAML 정렬·검사
YAML Formatter & Validator
YAML 들여쓰기를 통일하고 문법을 검사하며, 파서를 깨뜨리는 탭·앵커 실수를 표시합니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
JSON 스키마 검증
JSON Schema Validator
문서를 JSON 스키마로 검증하고 실패한 위치를 경로와 함께 보여 줍니다.
JSON 스키마 생성
JSON to JSON Schema
하나 또는 여러 예시에서 JSON 스키마를 추론하고 발견한 형태를 합칩니다.
JSON 타입스크립트 변환
JSON to TypeScript
JSON 예시에서 타입스크립트 인터페이스를 추론하고 선택적 필드와 유니온을 합칩니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
curl 코드 변환
curl to Code
curl 명령을 fetch·axios·파이썬 requests·Go·PHP·PowerShell 코드로 변환합니다.
텍스트 해시 생성
Text Hash
문자열의 MD5·SHA-1·SHA-256·SHA-384·SHA-512·CRC-32를 계산하고 대문자·Base64 출력도 지원합니다.