JSON'dan Zod Şema Dönüştürücü
JSON yapıştırın, anında kullanıma hazır bir Zod şeması alın, %100 tarayıcınızda. Doğru z.number().int(), .optional() ve .nullable(), ayrıca bir z.infer türü. Ücretsiz.
Seçenekler
Zod şeması nedir?
Zod şeması, bir değerin biçiminin TypeScript öncelikli bir tanımıdır; verileri çalışma zamanında doğrular ve derleme zamanında statik bir tür çıkarsar. Bir JSON örneğinden bir tane oluşturmak, API yanıtları, formlar veya yapılandırma dosyaları için elle doğrulama tekrar kodu yazmadığınız anlamına gelir. Bu Zod şema oluşturucu doğru türleri çıkarsar, bulunmayan anahtarları .optional(), null değerleri .nullable() olarak işaretler ve size bir z.infer türü verir — hepsi %100 tarayıcınızda.
Örnekler
API yanıtı
{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]} import { z } from "zod";
export const RootSchema = z.object({
id: z.number().int(),
name: z.string(),
email: z.string(),
active: z.boolean(),
roles: z.array(z.string()),
});
export type Root = z.infer<typeof RootSchema>;
Tipik bir REST yükü, kullanıma hazır bir Zod şemasına dönüşür. Tam sayılar z.number().int() olarak çıkarsanır ve roles dizisi z.array(z.string()) olur. Bir z.infer türü ücretsiz gelir.
İç içe nesne
{"repo":"zod","owner":{"login":"colinhacks","id":100}} import { z } from "zod";
export const OwnerSchema = z.object({
login: z.string(),
id: z.number().int(),
});
export const RootSchema = z.object({
repo: z.string(),
owner: OwnerSchema,
});
export type Root = z.infer<typeof RootSchema>;
İç içe nesneler kendi adlandırılmış şemalarına (OwnerSchema) dönüşür ve alan üzerinden referans verilir. Alt şemalar, onları kullanan üst şemadan önce bildirilir ve aynı biçimler bir kez bildirilip yeniden kullanılır.
Nesne dizisi (isteğe bağlı alan)
{"users":[{"id":1,"nick":"x"},{"id":2}]} import { z } from "zod";
export const UserSchema = z.object({
id: z.number().int(),
nick: z.string().optional(),
});
export const RootSchema = z.object({
users: z.array(UserSchema),
});
export type Root = z.infer<typeof RootSchema>;
Nesne dizileri tek bir öğe şemasında birleşir. Bazı öğelerde bulunmayan bir anahtar .optional() olur, böylece anahtar yokken de ayrıştırma başarılı olur.
Nullable alan ve sayı birleştirme
{"items":[{"sku":"A1","discount":0.1},{"sku":"A2","discount":null}]} import { z } from "zod";
export const ItemSchema = z.object({
sku: z.string(),
discount: z.number().nullable(),
});
export const RootSchema = z.object({
items: z.array(ItemSchema),
});
export type Root = z.infer<typeof RootSchema>;
Bazı örneklerde null olup diğerlerinde türlenmiş olan bir alan .nullable() olur. 0.1 bir ondalık nokta içerdiğinden, sayı z.number().int() yerine z.number() olarak birleşir.
JSON nasıl Zod'a dönüştürülür
- 1
JSON'unuzu yapıştırın
Giriş kutusuna bir JSON nesnesi, dizisi veya API yanıtı bırakın. Dönüştürme anında başlar.
- 2
Çıktıyı ayarlayın
Projenizin stiline uyması için kök şemayı yeniden adlandırın ve import satırını, z.infer türünü veya export anahtar sözcüğünü açıp kapatın.
- 3
Kopyalayın veya indirin
Oluşturulan Zod şemasını tek tıkla alın ve doğrudan doğrulama katmanınıza yapıştırın.
Common Use Cases
- API yanıtlarını doğrulayın
- Bir REST veya GraphQL yanıtı örneğini bir Zod şemasına dönüştürün ve fetch sınırında ayrıştırın, böylece bozuk veri uygulamanıza sızmak yerine net bir hatayla hızlıca başarısız olur.
- Tür güvenli formlar ve girişler
- Form veya sorgu girişi için bir şema oluşturun ve uçtan uca tür güvenliği için z.infer türünü kullanıcı arayüzünüz ve işleyicileriniz genelinde yeniden kullanın.
- tRPC ve yapay zekâ araç şemaları
- tRPC prosedürleri veya yapay zekâ yapılandırılmış çıktı araçları için giriş ve çıkış şemalarını elle yazmak yerine örnek bir yükten önyükleyin.
Dönüştürme nasıl çalışır
- Yapısal çıkarım
- Her nesne adlandırılmış bir şema olur; aynı biçimler bir kez bildirilip yeniden kullanılır. Nesne dizileri anahtar anahtar birleşir ve bazı öğelerde bulunmayan anahtarlar .optional() olur.
- Doğru tür eşleme
- Tam sayılar z.number().int()'e, ondalıklar z.number()'a eşlenir. Dizeler, boolean'lar ve null'lar z.string(), z.boolean() ve z.null()'a eşlenir; karışık ilkellerden oluşan bir dizi z.union() olur.
- TypeScript türleri dahil
- Kök şema için bir z.infer tür takma adı yayılır, böylece şema tek doğruluk kaynağı olarak kalır ve türleriniz doğrulamanızdan asla ayrışmaz.
- %100 istemci tarafı
- Ayrıştırma ve oluşturma, ağ çağrısı olmadan tarayıcınızda çalışır; böylece verileriniz gizli kalır.
Temiz Zod şemaları için ipuçları
- Kök şemanızı adlandırın
- Okunabilir, kendini belgeleyen kod için varsayılan Root yerine User veya ApiResponse gibi anlamlı bir kök adı belirleyin.
- z.unknown() ve union'ları inceltin
- Boş veya karışık diziler z.unknown() ya da geniş bir z.union() üretir. Aracın kesin türleri çıkarabilmesi için daha zengin, temsili bir örnek yapıştırın, sonra belirsiz kalan her şeyi sıkılaştırın.
- Sınırda doğrulayın
- Güvenilmeyen verilerin girdiği yerde safeParse() çağırın — API yanıtları, form girişi, webhook'lar — böylece kötü veri uygulama mantığınıza ulaşmadan yakalanır.
Sıkça Sorulan Sorular
JSON'u bir Zod şemasına nasıl dönüştürürüm?
JSON'dan Zod ile JSON Schema'dan Zod arasındaki fark nedir?
Şemadan bir TypeScript türünü nasıl alırım?
İsteğe bağlı ve null alanlar nasıl işlenir?
Hangi sayı türünü oluşturur?
Çıktı Zod 3 ve Zod 4 ile çalışır mı?
Oluşturulan şemayla verileri nasıl doğrularım?
Diziler ve karışık türler nasıl işlenir?
JSON verilerim gizli ve güvende mi?
Araç ücretsiz mi? Hesap gerekiyor mu?
İlgili Araçlar
Tüm araçları görüntüleyin →Base64 Çözücü ve Kodlayıcı
Kodlama ve Biçimlendirme
Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.
Base64'ü Görsele Çevirme Aracı
Kodlama ve Biçimlendirme
Bir Base64 dizesini ya da data URI'yi tarayıcınızda görsele geri çözün. Önizleyin, boyutları ve MIME'ı okuyun, ardından PNG, JPG, GIF, SVG olarak indirin. Yükleme yok.
CSV'den JSON'a Dönüştürücü
Kodlama ve Biçimlendirme
CSV'yi tarayıcınızda JSON'a dönüştürün. RFC 4180, tür çıkarımı, başlık satırı, büyük tam sayı güvenli. %100 gizli, yükleme yok.
.env'den JSON'a Dönüştürücü
Kodlama ve Biçimlendirme
Bir .env dosyası yapıştırın, anında JSON alın. Sırlarınız tarayıcınızdan asla çıkmaz — %100 gizli, yükleme yok, ücretsiz dotenv ayrıştırıcı.
Ücretsiz HTML Varlık Çözücü — HTML Unescape
Kodlama ve Biçimlendirme
HTML varlıklarını çözün ve HTML'i çevrimiçi unescape edin — ücretsiz, kayıt yok, %100 tarayıcınızda. Adlı, ondalık & hex referansları tekrar karaktere çevirir; asla yüklenmez.
Ücretsiz HTML Varlık Kodlayıcı — HTML Escape
Kodlama ve Biçimlendirme
HTML varlıklarını kodlayın ve özel karakterleri (< > & " ') çevrimiçi escape edin — ücretsiz, kayıt yok, %100 tarayıcınızda. Adlı, ondalık veya hex çıktı; asla yüklenmez.