JSON na schemat Zod
Wygeneruj schemat walidacji Zod i typy TypeScript z przykładu JSON, z wykrywaniem formatów i wyliczań.
JSON na schemat Zod
Wklej próbkę JSON — odpowiedź API, plik konfiguracyjny, wiersz bazy danych — i uzyskaj gotowy schemat Zod w TypeScript. Typy są wnioskowane dla każdego pola: pierwotne typy mapują się do z.string(), z.number() i z.boolean(), pola zawierające listy mają wnioskowany typ elementu, a wartość, która różni się między wystąpieniami, staje się z.union(). Łańcuch, który wygląda jak adres e-mail, URL, UUID lub data ISO, otrzymuje pasujący walidator — .email(), .url(), .uuid(), .date() lub .datetime() — zamiast zwykłego z.string().
Podaj mu pole obiektów o tym samym kształcie, takie jak wiersze z punktu końcowego listy, a generator połączy każdy element przed wpisaniem pola: klucz brakujący w niektórych wierszach staje się .optional(), klucz, który jest czasem null, staje się .nullable() lub .optional() w zależności od wybranego ustawienia, a pole powtarzające mały zestaw wartości — kolumna stanu lub roli — staje się prawidłowym z.enum() zamiast otwartego łańcucha. Włącz „Podziel zagnieżdżone obiekty”, aby wyciągnąć każdy zagnieżdżony obiekt do własnego nazwanego eksportu zamiast jednego głęboko zagnieżdżonego literału, gdzie identyczne kształty automatycznie współdzielą jeden schemat. Włącz „Obiekty rygorystyczne”, aby odrzucić dowolny klucz, który próbka nigdy nie wykazała, łapiąc literówki i nieoczekiwane pola API przy parsowaniu zamiast później w strumieniu.
Nazwij wyeksportowany schemat w taki sposób, aby oczekiwał go twój kod, i opcjonalnie dodaj export type X = z.infer<typeof X> tuż poniżej, aby walidator czasu wykonywania i typ czasu kompilacji pochodziły z tego samego źródła i nigdy nie mogły się cicho oddalić.
Wszystko działa lokalnie w Twojej przeglądarce. JSON, który wklejasz — odpowiedzi API zawierające tokeny, rekordy użytkowników, wewnętrzne ładunki — jest analizowany i wpisywany całkowicie na Twoim urządzeniu i nigdy nie jest przesyłany nigdzie. Wklej próbkę, skopiuj wygenerowany schemat do swojego projektu i zacznij walidować to, co parsowujesz.