İçeriğe geç
uxTools
Veri & Formatlar

JSON'dan Zod Şemasına

Çoklu örnek çıkarımı, opsiyonel vs nullable tespiti, string format yardımcıları (email / url / uuid / datetime / ip), string + sayı kısıtları, z.coerce, sıralı anahtarlar, isimli import stili, v3 + v4-rc çıktı ve strict API'ler vs lenient form data için ön ayarlar.

Hazır ayarlar

JSON girdisi

Bir payload yapıştır. Çoklu örnek için sekme ekle — herhangi bir örnekte eksik alanlar opsiyonel olur.

Geçerli JSON

Zod şeması

Yazdıkça güncellenir. İç içe objeler isimli alt şemalara çıkarılır.

import { z } from "zod";
export const schema = z.object({
id: z.string().uuid(),
email: z.string().email(),
username: z.string(),
passwordHash: z.string(),
age: z.number(),
acceptedTerms: z.boolean(),
newsletter: z.boolean(),
createdAt: z.string().datetime(),
});
export type Schema = z.infer<typeof schema>;

Seçenekler

Üretilen şemayı şekillendir — runtime kontroller, kod stili, import biçimi.

Çıktı

Kök export adı

export const <ad> = z.object({...}) olarak çıkar.

Çıkarsanan tipi de export et

export type <Ad> = z.infer<typeof ad> ekler.

Zod sürümü

Import biçimi

Algılama

String formatlarını algıla

Otomatik .email() / .url() / .uuid() / .datetime() / .ip() uygular.

String uzunluğunu algıla

Örnek uzunluklarına göre .min()/.max() ekler.

Sayı aralığını algıla

Örneklerden .int(), .positive(), .nonnegative(), .min()/.max() üretir.

Primitifleri coerce et

z.coerce.* kullanır — query string ve FormData için faydalı.

Kod stili

Girinti

Tırnak

Anahtarları alfabetik sırala

Üretilen şemada object anahtarlarını A→Z sıralar.

Şemayı test et

Üretilen kodu Zod playground'a yapıştırarak bir değeri bundling yapmadan baştan sona doğrulayabilirsin.

zod.dev/play'i aç