Генератор тестового JSON из TypeScript

Вставьте интерфейс TypeScript и сгенерируйте реалистичный тестовый JSON, соответствующий ему, прямо в вашем браузере. Ваш код остаётся на вашем устройстве.

Ваш интерфейс TypeScript разбирается и мокается локально в вашем браузере и никогда не загружается, а сгенерированные данные — это случайные образцы, а не реальные записи.

Уже есть JSON? Превратите его в TypeScript с помощью JSON to TypeScript.

Об инструменте TypeScript в тестовый JSON

Этот инструмент TypeScript в тестовые данные берёт интерфейс или псевдоним типа, который вы вставляете, и генерирует реалистичный тестовый JSON, соответствующий его форме. Он читает структуру типа и выбирает фейковое значение для каждого свойства, ориентируясь как на имя поля, так и на объявленный тип: поле email становится правдоподобным email, name становится полным именем, createdAt становится датой ISO, id становится UUID или числом, а обычные строки становятся словами. Вложенные интерфейсы, встроенные объекты, массивы, объединения строковых литералов, необязательные члены и Date — всё обрабатывается, а вы управляете тем, сколько объектов производить и появляются ли необязательные поля. Используйте его, чтобы заполнить тесты, прототипировать ответы API или наполнить интерфейс образцами данных вместо ручного написания фикстур. Всё работает в вашем браузере, поэтому вставленный интерфейс обрабатывается локально и никогда не покидает ваше устройство.

Возможности

Как использовать TypeScript в тестовый JSON

  1. Вставьте интерфейс TypeScript или псевдоним типа в поле ввода.
  2. Задайте, сколько объектов генерировать и включать ли необязательные поля.
  3. Если вы вставили несколько интерфейсов, выберите, какой использовать как корневой.
  4. Прочитайте сгенерированный тестовый JSON справа, затем скопируйте его или скачайте файл .json.

Пример

Ввод

interface User {
  id: number;
  fullName: string;
  email: string;
  role: 'admin' | 'editor' | 'viewer';
  tags: string[];
}

Результат

{
  "id": 4821,
  "fullName": "Ada Lovelace",
  "email": "ada.lovelace@example.com",
  "role": "editor",
  "tags": [
    "design",
    "api"
  ]
}

Имена полей направляют фейковые значения, а поле-объединение разрешается в один из своих членов.

Частые ошибки и устранение неполадок

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

Как типы полей TypeScript превращаются в фейковые значения?
Каждое свойство сопоставляется сначала по имени — email, name, phone, url, uuid, createdAt и подобные подсказки сопоставляются с соответствующими фейковыми данными — иначе по объявленному типу, поэтому string, number, boolean и null каждый получают разумное сгенерированное значение.
Поддерживает ли он вложенные интерфейсы, массивы и объединения?
Да. Вложенные интерфейсы и встроенные типы объектов разворачиваются рекурсивно, типы-массивы вроде string[] становятся несколькими сгенерированными элементами, а объединение строковых литералов, например 'admin' | 'editor', разрешается в один из своих членов.
Могу ли я сгенерировать массив из многих объектов сразу?
Да. Задайте количество объектов больше 1, и инструмент вернёт массив JSON из такого числа сгенерированных объектов; количество 1 возвращает один объект, а не массив.
Как обрабатываются необязательные свойства?
Члены, помеченные как необязательные через prop?:, управляются переключателем Optionals. Включите его, чтобы всегда их включать, или выключите, чтобы опустить каждое необязательное поле из вывода.
Что происходит с полем Date или меткой времени ISO?
Тип Date, а также подсказки по имени вроде createdAt, updatedAt или timestamp, дают строку даты ISO 8601, чтобы тестовый JSON оставался корректным и легко разбираемым.
Отправляется ли куда-либо вставленный мной TypeScript?
Нет. Интерфейс разбирается, а тестовый JSON генерируется полностью в вашем браузере, поэтому вставленный код обрабатывается локально и никогда не покидает ваше устройство.

Связанные инструменты

Все инструменты ArrayKit