Toolser

JSON zu Zod

Füge JSON ein und erzeuge ein verschachteltes Zod-Schema sowie einen TypeScript-Typ.

Zod-Schema

import { z } from "zod";

const schema = z.object({
  "name": z.string(),
  "active": z.boolean(),
  "scores": z.array(z.union([z.number().int(), z.number()])),
});

TypeScript-Typ

type Input = {
  "name": string;
  "active": boolean;
  "scores": (number)[];
};
Ad Space Placeholder

So funktioniert es

  1. Füge ein gültiges JSON-Objekt oder einen Wert ein.
  2. Prüfe Objekte, Arrays, Unions und null.
  3. Kopiere Schema oder TypeScript-Typ.

Über dieses Werkzeug

JSON eignet sich hervorragend für den Datenaustausch, aber Anwendungscode braucht weiterhin einen klaren Vertrag. Dieser Konverter liest ein JSON-Beispiel und erzeugt daraus ein Zod-Schema sowie einen abgeleiteten TypeScript-Typ als Ausgangspunkt für ein Projekt. Objekte, Zeichenketten, Zahlen, Boolean, null, verschachtelte Arrays und Kombinationen werden rekursiv erkannt. Leere Arrays werden zu z.array(z.unknown()), weil ein Beispiel ohne Elemente keinen Elementtyp beweisen kann. Enthält ein Array unterschiedliche Formen, verwendet der Code eine Union, statt stillschweigend nur das erste Element zu übernehmen. Ganze Zahlen erhalten eine int-Einschränkung, Dezimalzahlen bleiben normale Zod-Zahlen. Schlüssel werden sicher als JSON-Strings ausgegeben, damit Leerzeichen oder Satzzeichen aus externen Payloads den Code nicht beschädigen. Ungültiges JSON wird in der gewählten Sprache gemeldet; es gibt keine irreführende Teilausgabe. Das Ergebnis ist bewusst eine Basis: Echte APIs benötigen oft optionale Felder, Defaults, Koerzierung, Formate oder weitere Verfeinerungen, die aus einem Beispiel nicht hervorgehen. Benenne und prüfe das Schema vor dem Einsatz, besonders wenn Eigenschaften fehlen können. Die Verarbeitung erfolgt vollständig im Browser und eignet sich daher für Fixtures und Payloads, die nicht an einen Dienst hochgeladen werden sollen. Prüfe außerdem Datumswerte, optionale Eigenschaften und fachliche Grenzen manuell, weil diese Bedeutung aus reinem JSON nicht zuverlässig hervorgeht. So bleibt der generierte Code verständlich und kann sicher an den tatsächlichen Vertrag deiner API angepasst werden. Bei wechselnden Payloads helfen mehrere Beispiele dabei, optionale Felder und Vereinigungen bewusst zu modellieren. Benenne wiederverwendete Schemas nach ihrer Rolle, statt nur den automatisch erzeugten Typ zu übernehmen.

Häufige Fragen

Ähnliche Werkzeuge