Об этом инструменте
Инструмент JSON в Zod-схему превращает вставленный пример JSON в готовую к использованию Zod-схему и соответствующий тип TypeScript. Zod — доминирующая библиотека валидации для TypeScript, а писать деревья z.object вручную для реальных API-нагрузок медленно и чревато ошибками. Этот конвертер разбирает ваш JSON через JSON.parse, рекурсивно обходит значение и выдаёт идиоматичный Zod: строки становятся z.string(), целые числа — z.number().int(), другие числа — z.number(), логические значения — z.boolean(), null — z.null(), а вложенные объекты — собственными именованными схемами z.object({...}).
Всё работает локально в вашем браузере — ваш JSON разбирается прямо на странице и никогда не загружается на сервер, поэтому конфиденциальные данные остаются на вашем устройстве. Массивы выводят тип элемента, глубоко сливая каждый элемент, так что массив объектов с немного разными ключами даёт одну схему, где ключи, отсутствующие в части элементов, помечаются как .optional(). Строки даты-времени в формате ISO-8601 распознаются и выводятся как z.string().datetime(). Ключи объектов, не являющиеся допустимыми идентификаторами, безопасно заключаются в кавычки.
Результат — полноценный модуль: экспортируемая const для каждой схемы объекта (потомки определяются раньше родителей, которые на них ссылаются), за которой следует export type Root = z.infer<typeof Root>, так что вы бесплатно получаете типы времени компиляции. Используйте поле имени корня, чтобы переименовать верхнеуровневую схему, и переключатель отсутствующих ключей, чтобы трактовать отсутствующие ключи как .optional() (по умолчанию) или .nullable(). Скопируйте результат или скачайте его как файл .ts.