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.

Çalıştırma sayısı
Tarayıcınızda
Maliyet
Ücretsiz · kayıt gerekmez
Kullanılabilirlik
Kullanıma hazır
JSON'dan Zod'aYerel işleme

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?

  1. Bir JSON örneği yapıştırın; birkaç tipik kayıt içeren bir dizi olması idealdir.
  2. Üst düzey türü adlandırın.
  3. Ş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