JSON zu Zod Schema Generator (TypeScript Laufzeit-Validierung) Entwicklerhandbuch
Inferieren und generieren Sie TypeScript Zod-Schemas, Typdefinitionen und verschachtelte Validierungsregeln aus rohen JSON-Payloads.
import { z } from "zod";
// --- Inferred Nested Sub-Schemas ---
OrderCustomerSchema = z.object({
id: z.number().int(),
fullName: z.string(),
email: z.string().email(),
phone: z.string(),
tier: z.string(),
loyaltyPoints: z.number().int(),
});
OrderShippingAddressCoordinatesSchema = z.object({
latitude: z.number(),
longitude: z.number(),
});
OrderShippingAddressSchema = z.object({
street: z.string(),
suite: z.string(),
city: z.string(),
state: z.string(),
postalCode: z.string(),
country: z.string(),
coordinates: OrderShippingAddressCoordinatesSchema,
});
OrderItemsItemSchema = z.object({
sku: z.string(),
title: z.string(),
quantity: z.number().int(),
unitPrice: z.number(),
discount: z.number().nullable(),
tags: z.array(z.string()),
inStock: z.boolean(),
});
OrderPaymentSummarySchema = z.object({
currency: z.string(),
subtotal: z.number().int(),
tax: z.number(),
shippingFee: z.number().int(),
grandTotal: z.number(),
transactionRef: z.string(),
status: z.string(),
});
// --- Root Schema Definition ---
OrderSchema = z.object({
orderId: z.string().uuid(),
orderNumber: z.string(),
createdAt: z.string().datetime(),
isFulfilled: z.boolean(),
customer: OrderCustomerSchema,
shippingAddress: OrderShippingAddressSchema,
items: z.array(OrderItemsItemSchema),
paymentSummary: OrderPaymentSummarySchema,
});
// --- Inferred TypeScript Types ---
OrderCustomer = z.infer<typeof OrderCustomerSchema>;
OrderShippingAddressCoordinates = z.infer<typeof OrderShippingAddressCoordinatesSchema>;
OrderShippingAddress = z.infer<typeof OrderShippingAddressSchema>;
OrderItemsItem = z.infer<typeof OrderItemsItemSchema>;
OrderPaymentSummary = z.infer<typeof OrderPaymentSummarySchema>;
Order = z.infer<typeof OrderSchema>;100% Client-seitige AST-Inferenz
Das Parsen von JSON und die Synthese von Zod-Schemas erfolgen vollständig lokal in Ihrer Browser-Sandbox ohne Serverübertragungen.
Vollständige TypeScript- & Zod v3-Typisierung
Generiert rekursive z.object(), z.array(), intelligente Union-Erkennung und produktionsbereite z.infer-Typen.
Intelligente Format- & Coercion-Regeln
Erkennt automatisch E-Mails, UUIDs, ISO-Datumsangaben und URLs mit konfigurierbaren Validierungseinschränkungen.