Geliştirici / Türler
JSON'dan Zod Şeması Dönüştürücü
JSON örneğinden iç içe nesneler, diziler, isteğe bağlı ve null olabilir alanlar ve tam sayılar içeren bir Zod şeması ile TypeScript türünü oluşturun.
JSON'dan Zod Şeması Dönüştürücü: Örnekteki her nesne bir z.object şemasına dönüştürülür ve bu şemadan çıkarılan bir türle dışa aktarılır; iç içe nesneler kendi adlandırılmış şemalarını alır. Bir dizideki nesneler birleştirilir: bazı nesnelerde bulunmayan anahtarlara .optional(), bazen null olan anahtarlara .nullable() eklenir ve tam sayılara .int() uygulanır. Oluşturulan şemalar, kendi örnekleri Zod ile ayrıştırılarak kontrol edilmiştir. Sunucuya hiçbir dosya yüklenmeden tarayıcınızda %100 yerel olarak çalışır.
- Kategori
- Geliştirici araçları
- Çalıştırma sayısı
- Tarayıcınızda
- Maliyet
- Ücretsiz · kayıt gerekmez
- Kullanılabilirlik
- Kullanıma hazır
Tamamen tarayıcınızda çalışır
TypeScript
import { z } from "zod";
export const AddressSchema = z.object({
city: z.string(),
zip_code: z.string(),
});
export type Address = z.infer<typeof AddressSchema>;
export const UserSchema = z.object({
id: z.number().int(),
user_name: z.string(),
avatar_url: z.string(),
score: z.number(),
tags: z.array(z.string()),
address: AddressSchema,
manager_id: z.number().int().nullable(),
nickname: z.string().optional(),
});
export type User = z.infer<typeof UserSchema>;
export const UserListSchema = z.array(UserSchema);
Her nesne bir şema ve çıkarılmış bir tür alır. Bazı nesnelerde bulunmayan anahtarlara .optional(), bazen null olan anahtarlara .nullable() ve tam sayılara .int() uygulanır; API'nizin garanti etmediği kuralları gevşetin.
Şemayı kullanma
Hatalı verileri doğrulayıp hata vermesi için Schema.parse(data) çağrısını veya try ve catch kullanmadan kontrol edebileceğiniz bir sonuç almak için Schema.safeParse(data) çağrısını kullanın. z.infer ile dışa aktarılan tür, şemayı düzenledikçe şemayla uyumunu korur.
Yalnızca derleme zamanı türlerine ihtiyacınız varsa JSON to TypeScript düz arayüzler sağlar; mevcut bir JSON Schema ile doğrulama yapmak için JSON Schema doğrulayıcıyı kullanın.
Oluşturulan kuralları sıkılaştırma
Örnek yalnızca içerdiği şeyleri gösterir; bu nedenle şemayı bir başlangıç noktası olarak değerlendirin: uygun oldukları yerlerde dizelere .email(), .url() veya .datetime(), sabit bir değer kümesine sahip alanlara z.enum([...]), verilerinizde sınırlar bulunan yerlere de .min() veya .max() ekleyin.
Nasıl kullanılır?
- Bir JSON örneği yapıştırın; birkaç tipik kayıt içeren bir dizi olması idealdir.
- Üst düzey türü adlandırın.
- Şemaları kopyalayarak çalışma zamanında verileri doğrulamak için kullanın.
Gizlilik ve sınırlamalar
JSON tarayıcıda dönüştürülür ve hiçbir zaman yüklenmez.
İlgili araçlar
Sık sorulan sorular
TypeScript arayüzü yerine neden Zod kullanılmalı?
Bir arayüz kod derlendiğinde ortadan kalkar; bu nedenle çalışma zamanında verileri kontrol edemez. Zod şeması verileri kontrol eder ve z.infer ile aynı türü sağlar.
Tam sayılar gerçekten .int() olarak mı belirtilmeli?
Yalnızca API'niz tam sayıları garanti ediyorsa. Bir fiyat veya puan kesirli olabiliyorsa, örnekte yalnızca tam sayılar bulunsa bile .int() ifadesini kaldırın.
Tarih veya e-posta gibi dizeleri işliyor mu?
Bunlar z.string() olarak türlendirilir; verilerinizin gerektirdiği yerlerde .email(), .url() veya bir tarih kontrolü gibi ek kısıtlamalar ekleyin.
Ücretsiz araç · tarayıcınızda kez çalıştırma · hesap gerekmez