Генератор фиктивного JSON
JSONСоздавайте фиктивные JSON-данные с помощью @faker-js/faker — выберите поля или напишите шаблон, выберите язык и экспортируйте в JSON или CSV.
Удалённые URL не запрашиваются; вставьте JSON напрямую.
На этой странице
Что такое генератор фиктивного JSON?#
Реалистичные тестовые данные — скучное узкое горлышко каждого прототипа. Вы хотите посмотреть, как таблица рендерится с пятьюстами строк, как форма ведёт себя со странными адресами email, как выглядит график, когда числа разбросаны на три порядка величины, — а вместо этого полдня печатаете {"name":"test","email":"[email protected]"} раз за разом, потому что реальные данные приватны и их нельзя использовать.
Генератор фиктивного JSON заполняет этот пробел. Вы описываете форму нужного объекта — несколько типов полей или шаблон с плейсхолдерами — и он синтезирует столько строк, сколько попросите, каждая отличается от другой, и ни одна не принадлежит реальному человеку. На выходе — JSON-массив, который можно сразу бросить в файл фикстуры, демо-базу или заглушку fetch.
Эта страница генерирует двумя способами. Режим «Поля» даёт меню типичных полей (полное имя, email, телефон, UUID, дата, компания и др.), которые вы отмечаете; каждая строка становится объектом с этими полями. Режим «Шаблон» позволяет написать каркас JSON с плейсхолдерами {{faker.path}}, поэтому вы полностью контролируете имена ключей и вложенность. Результат можно скачать как JSON или CSV для табличного пути, а данные с учётом локали поддерживаются, чтобы имена выглядели правильно для аудитории, на которой вы демонстрируете.
Как пользоваться#
- Выберите режим переключателем на панели инструментов:
- Поля (по умолчанию): слева появляется чек-лист типов полей. Отметьте нужные в каждой строке — например Полное имя, Эл. почта и UUID. У каждого поля фиксированный ключ по умолчанию (
name,email,uuid). - Шаблон: вместо него появляется текстовая область. Напишите объект (или массив) JSON, чьи строковые листья содержат плейсхолдеры вроде
{{person.fullName}}или{{internet.email}}.
- Поля (по умолчанию): слева появляется чек-лист типов полей. Отметьте нужные в каждой строке — например Полное имя, Эл. почта и UUID. У каждого поля фиксированный ключ по умолчанию (
- Задайте Количество — сколько строк генерировать, от 0 до 1000.
- Выберите язык, чтобы придать аромат генерируемым именам, городам и телефонам. Предложено десять локалей, от английской до 中文, 日本語, 한국어, العربية.
- Нажмите Создать. Правая панель заполняется красиво напечатанным JSON-массивом синтезированных строк.
- Нажмите Скачать JSON или Скачать CSV под выводом, чтобы сохранить результат файлом (CSV удобно для загрузки в таблицу или наполнения БД через импорт).
- Используйте Пример, чтобы загрузить стартовый шаблон, или Очистить для сброса.
Тяжёлая библиотека генератора грузится только при первом нажатии Создать, поэтому страница открывается мгновенно. Генерация идёт целиком в вашем браузере.
Ключевые возможности#
- Два стиля авторства. Отмечайте поля для быстрого старта или пишите шаблон, когда нужны кастомные ключи, вложенность или смесь литерального текста и сгенерированных значений.
- Четырнадцать полей из набора. Имена, должности, 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’у на этой странице, поэтому не считайте конкретный вывод тем, что можно в точности воспроизвести байт-в-байт позже; сохраните вывод в файл фикстуры, если нужно точно воспроизвести конкретный набор данных.