DevTulz Online

JSON → TypeScript Types


Что делает этот инструмент?

Этот инструмент конвертирует объект или массив JSON в объявления TypeScript interface или type. Рекурсивно обрабатывает вложенные объекты (генерируя отдельные interfaces для каждого), массивы объектов (объединяя схемы), опциональные поля (когда ключи отсутствуют в некоторых элементах массива) и значения null. Результат готов для вставки в ваш TypeScript проект.

Как использовать

  1. Вставьте JSON в левую панель — TypeScript типы мгновенно появятся справа.

  2. Задайте имя корневого interface (по умолчанию: Root).

  3. Выберите стиль interface или type alias.

  4. Включите 'null → optional', чтобы обрабатывать поля null как опциональные unknowns вместо явного null.

  5. Нажмите Загрузить пример, чтобы увидеть пример конвертации.

Массивы объектов обрабатываются путём объединения всех схем элементов — ключи, присутствующие только в некоторых элементах, автоматически помечаются как опциональные. Вся конвертация происходит в вашем браузере.

Часто задаваемые вопросы

Безопасно ли здесь декодировать конфиденциальные данные? Да. Все декодирование происходит в вашем браузере с использованием JavaScript. Никакие данные не передаются на какой-либо сервер, поэтому ваши закодированные строки остаются полностью приватными.

В чём разница между Base64 и URL-безопасным Base64? Стандартный Base64 использует символы + и /, которые являются специальными символами в URL-адресах. URL-безопасный Base64 заменяет их на - и _ так, чтобы строка могла использоваться безопасно в URL-адресах и именах файлов без процентного кодирования.

Почему мой декодированный результат выглядит как бессмыслица? Если исходные данные были бинарными (такие как изображение, PDF или сжатый файл), декодированный результат не будет читаемым текстом. В этом случае строка Base64 представляет бинарный файл, а не текстовую строку.

Является ли Base64 формой шифрования? Нет. Base64 - это схема кодирования, а не шифрование. Любой человек может декодировать строку Base64 без ключа. Её никогда не следует использовать для защиты конфиденциальных данных — используйте для этого надлежащее шифрование.

Keywords: JSON в TypeScript, JSON в TS, JSON в interface, генератор типов TypeScript, вывод типов из JSON, TypeScript interface из JSON