DT Dev Tools

Конвертер JSON у Zod — генератор схем

Перетворіть JSON на схеми Zod онлайн із вкладеними об'єктами, масивами, optional- і nullable-полями та типами TypeScript z.infer. Безкоштовно й приватно в браузері.

🔒 Працює повністю у вашому браузері — нічого не завантажується

Реклама

Схеми Zod, згенеровані з JSON

Типи TypeScript зникають під час виконання, тож дані з API, форми чи localStorage безпечні рівно настільки, наскільки безпечний код, що їх перевіряє. Zod закриває цю прогалину: він перевіряє значення за схемою й виводить тип TypeScript із цієї самої схеми. Цей конвертер JSON у Zod пише схему за вас: вставте зразок JSON — і кожен об'єкт стане z.object, примітиви відповідатимуть z.string(), z.number() і z.boolean(), масиви стануть z.array(...), а вкладені об'єкти отримають власні іменовані схеми, які повторно використовуються всюди, де зустрічаються.

Інструмент працює на quicktype, який об'єднує всі елементи кожного масиву перед виведенням типів. Поля, що з'являються лише в деяких елементах, позначаються як optional, а значення, що іноді дорівнюють null, — як nullable, тож схема приймає реальні дані, які ви бачили, а не лише їхній перший елемент.

Схеми та виведені типи разом

За замовчуванням вивід також експортує тип TypeScript для кожної схеми через z.infer, даючи єдине джерело істини для валідації та статичної типізації. Імпортуйте кореневу схему та викличте RootSchema.parse(data), щоб перевірити недовірене значення й отримати типізований результат, або safeParse, коли хочете обробляти помилки без винятків. Позначте Schemas only, якщо воліли б оголошувати типи деінде. Це природний компаньйон до інструмента JSON у TypeScript, коли потрібні гарантії часу виконання, а не лише підказки на етапі компіляції.

Поради для суворіших схем

Генеруйте з репрезентативного зразка з кількома елементами масиву та заповненими необов'язковими полями. Потім доопрацюйте те, чого зразок показати не може: додайте .email(), .url() або .uuid() до рядкових полів, використовуйте z.enum для полів із фіксованим набором значень, обмежуйте числа через .int() або .min() і вирішіть, чи слід видаляти невідомі ключі, чи відхиляти їх через .strict(). Уся генерація відбувається локально, тож ви можете безпечно вставляти production-навантаження.

Як користуватися

  1. Вставте JSONВставте відповідь API або будь-який зразок JSON чи натисніть Load sample.
  2. Назвіть коріньЗадайте назву кореневої схеми та вирішіть, чи включати виведені типи.
  3. Скопіюйте схемиСкопіюйте код TypeScript або завантажте файл .ts і перевіряйте дані через schema.parse().

Часті запитання

Що міститься у виводі?
Схема Zod для кожного об'єкта у вашому JSON плюс типи TypeScript, виведені через z.infer. Позначте Schemas only, щоб пропустити псевдоніми типів.
Як обробляються optional- і nullable-поля?
Поля, відсутні або рівні null у деяких зразках, отримують .optional() чи .nullable(), тож валідація приймає варіації, що трапляються в реальних даних.
На яку версію Zod він орієнтований?
Схеми використовують базові API z.object, z.array, z.string і z.number, що працюють і в Zod 3, і в Zod 4.
Чи завантажується мій JSON?
Ні. Схеми генеруються повністю у вашому браузері.
Реклама