Razvoj / Tipovi

Konvertor JSON-a u Zod šemu

Generišite Zod šemu i njen TypeScript tip iz JSON uzorka, uz podršku za ugnježdene objekte, nizove, opciona i nullable polja i cele brojeve.

Konvertor JSON-a u Zod šemu: Svaki objekat u uzorku postaje z.object šema, uz izvezeni tip izveden iz nje, a ugnježdeni objekti dobijaju sopstvene imenovane šeme. Objekti u nizu se objedinjuju: ključevi koji nedostaju u nekim objektima dobijaju .optional(), ključevi koji su ponekad null dobijaju .nullable(), a celi brojevi dobijaju .int(). Generisane šeme proverene su parsiranjem sopstvenih uzoraka pomoću Zod-a. Radi 100% lokalno u vašem pregledaču, bez otpremanja datoteka na server.

Pokretanja
U vašem pregledaču
Trošak
Besplatno · bez registracije
Dostupnost
Spremno za upotrebu
JSON u ZodLokalna obrada

U potpunosti radi u vašem pregledaču

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);

Svaki objekat dobija šemu i izvedeni tip. Ključevi koji nedostaju u nekim objektima dobijaju .optional(), ključevi koji su ponekad null dobijaju .nullable(), a celi brojevi dobijaju .int(); ublažite svako pravilo koje vaš API ne garantuje.

Korišćenje šeme

Pozovite Schema.parse(data) da proverite podatke i dobijete grešku za neispravne vrednosti ili Schema.safeParse(data) da biste dobili rezultat koji možete proveriti bez try i catch. Izvezeni tip, dobijen pomoću z.infer, ostaje usklađen sa šemom dok je uređujete.

Ako su vam potrebni samo tipovi tokom kompajliranja, JSON to TypeScript daje obične interfejse; za proveru prema postojećoj JSON Schema koristite JSON Schema.

Preciziranje generisanih pravila

Primer prikazuje samo ono što sadrži, pa šemu posmatrajte kao početnu tačku: dodajte .email(), .url() ili .datetime() stringovima tamo gde se primenjuju, z.enum([...]) poljima sa unapred definisanim skupom vrednosti, a .min() ili .max() tamo gde vaši podaci imaju ograničenja.

Kako se koristi

  1. Nalepite JSON uzorak, po mogućnosti niz sa nekoliko tipičnih zapisa.
  2. Imenujte tip najvišeg nivoa.
  3. Kopirajte šeme i koristite ih za proveru podataka tokom izvršavanja.

Privatnost i ograničenja

JSON se konvertuje u vašem pregledaču i nikada se ne otprema.

Srodne alatke

Često postavljana pitanja

Zašto koristiti Zod umesto TypeScript interfejsa?

Interfejs nestaje kada se kod kompajlira, pa ne može da proverava podatke tokom izvršavanja; Zod šema proverava podatke i daje vam isti tip pomoću z.infer.

Da li celi brojevi zaista treba da budu .int()?

Samo ako vaš API garantuje cele brojeve. Ako cena ili rezultat mogu imati decimalni deo, uklonite .int() čak i kada uzorak sadrži samo cele brojeve.

Da li obrađuje stringove kao što su datumi ili imejl adrese?

Oni se tipiziraju kao z.string(); dodajte dodatne provere kao što su .email(), .url() ili provera datuma tamo gde su potrebne za vaše podatke.

Besplatan alat · pokretanja: u vašem pregledaču · nalog nije potreban