Инструменты
Руководства

Генератор фиктивного JSON

JSON

Создавайте фиктивные JSON-данные с помощью @faker-js/faker — выберите поля или напишите шаблон, выберите язык и экспортируйте в JSON или CSV.

100 % на клиенте Без бэкенда

Удалённые URL не запрашиваются; вставьте JSON напрямую.

Поля
Вывод
Выберите поля или напишите шаблон, затем сгенерируйте.
На этой странице

Что такое генератор фиктивного JSON?#

Реалистичные тестовые данные — скучное узкое горлышко каждого прототипа. Вы хотите посмотреть, как таблица рендерится с пятьюстами строк, как форма ведёт себя со странными адресами email, как выглядит график, когда числа разбросаны на три порядка величины, — а вместо этого полдня печатаете {"name":"test","email":"[email protected]"} раз за разом, потому что реальные данные приватны и их нельзя использовать.

Генератор фиктивного JSON заполняет этот пробел. Вы описываете форму нужного объекта — несколько типов полей или шаблон с плейсхолдерами — и он синтезирует столько строк, сколько попросите, каждая отличается от другой, и ни одна не принадлежит реальному человеку. На выходе — JSON-массив, который можно сразу бросить в файл фикстуры, демо-базу или заглушку fetch.

Эта страница генерирует двумя способами. Режим «Поля» даёт меню типичных полей (полное имя, email, телефон, UUID, дата, компания и др.), которые вы отмечаете; каждая строка становится объектом с этими полями. Режим «Шаблон» позволяет написать каркас JSON с плейсхолдерами {{faker.path}}, поэтому вы полностью контролируете имена ключей и вложенность. Результат можно скачать как JSON или CSV для табличного пути, а данные с учётом локали поддерживаются, чтобы имена выглядели правильно для аудитории, на которой вы демонстрируете.

Как пользоваться#

  1. Выберите режим переключателем на панели инструментов:
    • Поля (по умолчанию): слева появляется чек-лист типов полей. Отметьте нужные в каждой строке — например Полное имя, Эл. почта и UUID. У каждого поля фиксированный ключ по умолчанию (name, email, uuid).
    • Шаблон: вместо него появляется текстовая область. Напишите объект (или массив) JSON, чьи строковые листья содержат плейсхолдеры вроде {{person.fullName}} или {{internet.email}}.
  2. Задайте Количество — сколько строк генерировать, от 0 до 1000.
  3. Выберите язык, чтобы придать аромат генерируемым именам, городам и телефонам. Предложено десять локалей, от английской до 中文, 日本語, 한국어, العربية.
  4. Нажмите Создать. Правая панель заполняется красиво напечатанным JSON-массивом синтезированных строк.
  5. Нажмите Скачать JSON или Скачать CSV под выводом, чтобы сохранить результат файлом (CSV удобно для загрузки в таблицу или наполнения БД через импорт).
  6. Используйте Пример, чтобы загрузить стартовый шаблон, или Очистить для сброса.

Тяжёлая библиотека генератора грузится только при первом нажатии Создать, поэтому страница открывается мгновенно. Генерация идёт целиком в вашем браузере.

Ключевые возможности#

  • Два стиля авторства. Отмечайте поля для быстрого старта или пишите шаблон, когда нужны кастомные ключи, вложенность или смесь литерального текста и сгенерированных значений.
  • Четырнадцать полей из набора. Имена, должности, email, имена пользователей, телефоны, UUID, недавние даты, города, страны, компании, URL, абзацы и названия цветов — типичные кирпичики демо-записи.
  • Значения с учётом локали. Переключите локаль — и данные о людях и местах следуют за ней, что полезно, когда демо должно выглядеть локально.
  • Плейсхолдеры шаблона сохраняют типы. Плейсхолдер, занимающий строковый лист целиком, разрешается в свой нативный тип, поэтому {{date.recent}} становится настоящей ISO-датой-строкой, а не кавычным фрагментом.
  • До 1000 строк. Достаточно, чтобы наполнить пагинируемую таблицу или типичную фикстуру, не перегружая вкладку.
  • Экспорт в JSON и CSV. Сгенерируйте один раз, экспортируйте для любого потребителя — фикстура JSON или импорт в таблицу.
  • Только локально. Данные синтезируются в вашем браузере; ничто из вашего шаблона или вывода не покидает страницу.

Разбор примера#

Для демо нужно десять записей пользователей, каждая с именем, email и уникальным id. Оставьте режим Поля, снимите все отметки, кроме Полное имя, Эл. почта и UUID, задайте Количество 10 и нажмите Создать. Вывод — JSON-массив, чьи первые строки выглядят так:

[
  {
    "name": "Sara Schultz",
    "email": "[email protected]",
    "uuid": "f3a1c2b4-9d8e-4a7b-bc6e-1f2d3a4b5c6d"
  },
  {
    "name": "Derrick Watsica",
    "email": "[email protected]",
    "uuid": "b7e6d5c4-a3b2-4987-8d6e-5c4b3a2f1e09"
  }
]

Каждая строка отличается, ни один адрес не является реальным ящиком, а UUID уникальны. Для формы, которую набор полей выразить не может, — скажем, записи, смешивающей литеральную роль с генерируемыми полями, — переключитесь в режим Шаблон и напишите:

{
  "id": "{{string.uuid}}",
  "name": "{{person.fullName}}",
  "role": "member",
  "email": "{{internet.email}}"
}

Поле role — литеральный текст, поэтому в каждой строке будет "member"; остальные три разрешаются в свежие синтезированные значения для каждой строки. Задайте количество сколько нужно и экспортируйте.

FAQ#

Адреса email — реальные ящики, на которые можно отправлять?#

Нет. Каждое значение синтезировано: имена — правдоподобные комбинации, а адресы email следуют реалистичной форме, но никуда не маршрутизируются. В этом и суть: вы получаете данные, которые выглядят как продакшен-данные, для тестирования вёрстки, валидации и сортировки, не затрагивая чужой ящик.

Можно ли сделать данные локальными для конкретной страны?#

Да. Селектор язык меняет, как генерируются имена людей, города и телефоны. Выберите 中文(简体) — и имена станут китайскими; выберите 日本語 — и они станут японскими. Это важно, когда демо должно ощущаться аутентично для своей аудитории.

В режиме шаблона почему {{date.recent}} отображается как ISO-строка без кавычек вокруг логики даты?#

Когда плейсхолдер занимает строковый лист целиком, он разрешается в нативное возвращаемое значение генератора, а не интерполируется как текст. Вызов «недавней даты» возвращает настоящий объект даты, который затем сериализуется как ISO-строка в выводимом JSON. Если хотите встроить её в окружающий текст, добавьте литеральные символы вокруг — "shipped on {{date.recent}}" — и она превратится в строку внутри предложения.

Сколько строк можно сгенерировать за раз?#

До тысячи. Этого достаточно, чтобы наполнить пагинируемую таблицу, заполнить файл фикстуры или разнести тестовую БД через CSV-импорт. Если нужно больше — генерируйте партиями или возьмите специализированный сидер БД.

Воспроизводимы ли сгенерированные данные?#

Каждое нажатие Создать даёт свежий случайный набор — это и нужно, когда вы ловите краевые случаи в UI. Значения не привязаны к seed’у на этой странице, поэтому не считайте конкретный вывод тем, что можно в точности воспроизвести байт-в-байт позже; сохраните вывод в файл фикстуры, если нужно точно воспроизвести конкретный набор данных.