JSON в TypeScript
- Файлы не покидают устройство
- Работает в браузере
- Бесплатно, без регистрации и водяных знаков
Objects in the same array are merged: keys missing from some items become optional, and differing value types become unions. Identical shapes share one type.
Как пользоваться: JSON в TypeScript
Вставьте образец JSON и получите интерфейсы TypeScript, схему Zod или JSON Schema. Объекты в массивах сливаются, поэтому ключи, которых нет у части элементов, становятся необязательными, а смешанные типы — объединениями. Всё выполняется локально в браузере.
- 1
Вставьте образец JSON в поле JSON, перетащите файл или нажмите «Образец».
- 2
Выберите вывод: TypeScript, Zod или JSON Schema и задайте имя корня.
- 3
Выберите, как типизируются значения null, а для TypeScript — объявлять как interface или type.
- 4
Включите «Распознавать строки дат», «Свойства только для чтения» или «Запретить лишние свойства» по необходимости, затем скопируйте или скачайте результат.
Частые вопросы
Отправляется ли JSON куда-либо?
Нет. Генерация типов идёт в браузере, поэтому ответы API с реальными данными остаются на устройстве.
Как обрабатываются массивы объектов с разными ключами?
Они сливаются в один тип. Ключи, которых нет у части элементов, становятся необязательными, а ключи с разными типами значений — объединениями. Одинаковые формы делят один тип.
В чём разница T | null и «Необязательный + null»?
T | null оставляет ключ обязательным, но допускает null. «Необязательный + null» также позволяет ключ опустить, что подходит API, которые выкидывают поля null.
Распознаёт ли он даты?
При включённом «Распознавать строки дат» строки ISO 8601 получают комментарий в TypeScript, валидатор datetime в Zod и format в JSON Schema.
Можно ли вставить JSON с комментариями или висячими запятыми?
Да. Ввод разбирается мягко, поэтому комментарии, висячие запятые и синтаксис JSON5 принимаются, и примечание говорит, когда это произошло.
