Toolser

JSON do Zod

Wklej JSON, aby utworzyć zagnieżdżony schemat Zod i wywnioskowany typ TypeScript.

Schemat Zod

import { z } from "zod";

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

Typ TypeScript

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

Jak używać

  1. Wklej poprawny obiekt lub wartość JSON.
  2. Sprawdź obiekty, tablice, unie i null.
  3. Skopiuj schemat Zod albo typ TypeScript.

O tym narzędziu

JSON świetnie nadaje się do wymiany danych, lecz kod aplikacji nadal potrzebuje jasnego kontraktu. Ten konwerter odczytuje przykładowy JSON i tworzy schemat Zod oraz wywnioskowany typ TypeScript, które można wykorzystać jako punkt wyjścia. Rekurencyjnie rozpoznaje obiekty, tekst, liczby, wartości logiczne, null, zagnieżdżone tablice i ich kombinacje. Puste tablice otrzymują z.array(z.unknown()), ponieważ przykład bez elementów nie ujawnia typu przyszłych elementów. Jeśli tablica zawiera różne kształty, wynik używa unii i zachowuje informację o mieszanych danych zamiast wybierać pierwszy element. Liczby całkowite dostają ograniczenie int, a dziesiętne pozostają zwykłymi liczbami Zod. Klucze obiektów są bezpiecznie cytowane jako JSON, więc spacje i znaki interpunkcyjne z zewnętrznego payloadu nie psują kodu. Niepoprawny JSON wyświetla błąd w wybranym języku bez udawania częściowego wyniku. Wygenerowany kod jest bazą: prawdziwe API może wymagać pól opcjonalnych, wartości domyślnych, konwersji, formatów i dodatkowych reguł, których jeden przykład nie potwierdza. Przed użyciem produkcyjnym przejrzyj schemat, zwłaszcza gdy właściwości bywają pomijane. Wszystko działa lokalnie w przeglądarce, co jest wygodne dla poufnych fixture i payloadów. Warto ręcznie sprawdzić daty, pola opcjonalne oraz ograniczenia biznesowe, ponieważ sam JSON nie opisuje ich znaczenia. Dzięki temu wynik pozostaje bezpiecznym początkiem pracy nad rzeczywistym kontraktem API. Przy zmiennych payloadach kilka przykładów pomaga świadomie opisać pola opcjonalne i unie typów. Nazwij schematy według ich roli, zamiast pozostawiać jedynie automatycznie wygenerowany typ.

Najczęstsze pytania

Podobne narzędzia