§

Вставьте массив JSON, который хотите преобразовать в CSV.

Разделитель
Колонки заголовка
Первая строка — заголовок
Вложенные объекты
Приведение типов
§

Output

csv

Преобразование JSON в CSV — ежедневная задача в российской дата-инженерии. API возвращает массив JSON, а кому-то из финансов, операций или продукта нужно открыть его в Excel или Google Sheets к обеду. ФНС России публикует CSV-выгрузки реестров и налоговых форм, которые конвейеры превращают в JSON для загрузки в Greenplum или Yandex DataLens; открытый портал data.gov.ru предоставляет CSV-наборы, а статистические бюллетени Росстата поступают в той же форме. Курсы валют ЦБ РФ удобно выгружать как CSV-таблицу временного ряда, а затем переводить в JSON для дашбордов. Этот конвертер проводит преобразование локально, так что персональные данные по 152-ФЗ или коммерческие выписки не покидают браузер.

Что такое преобразование JSON в CSV?

JSON (JavaScript Object Notation, RFC 8259) — текстовый формат с древовидной структурой для представления данных; CSV (Comma-Separated Values, RFC 4180) — плоский табличный текстовый формат. Преобразование JSON в CSV разворачивает это дерево в строки и столбцы, чтобы набор данных, начавший жизнь как ответ API, открывался в электронной таблице без ручного переписывания.

Как работает преобразование JSON в CSV?

Каждое преобразование выполняется локально в вашем браузере. Основные шаги:

  1. JSON.parse проверяет ввод и подтверждает, что он является массивом записей верхнего уровня. При несоответствии скобок, запятых или ключей в кавычках выдаётся понятная ошибка.
  2. Генератор выводит колонки заголовка из ваших записей — либо объединение всех встреченных ключей, либо только ключи из первой записи, в зависимости от переключателя.
  3. Вложенные объекты разворачиваются в точечные ключи (user.id, user.city) или сериализуются как одна ячейка JSON, по вашему выбору. Массивы внутри объектов JSON-сериализуются в обоих режимах.
  4. Каждая ячейка экранируется по RFC 4180: любое значение, содержащее разделитель, двойную кавычку или перенос строки, обёртывается кавычками, а внутренние кавычки удваиваются. Строки соединяются окончаниями \r\n.
  5. CSV помещается в текстовое поле только для чтения, а ссылка для скачивания создаёт Blob с MIME-типом text/csv;charset=utf-8, чтобы вы могли сохранить файл одним кликом.

Зачем преобразовывать JSON в CSV этим инструментом?

  • Конфиденциальность: каждый этап разбора, разворачивания и записи происходит в вашем браузере. Данные никогда не попадают на наши серверы.
  • Корректность: генератор следует RFC 4180. Значение вроде Bob, Jr. получается как "Bob, Jr." — одна ячейка в кавычках, а не два столбца — и встроенные переносы строк или кавычки сохраняются после преобразования.
  • Готово для таблиц: результат вставляется прямо в Excel или Google Sheets с уже выведенными колонками заголовка, поэтому данные можно использовать без ручной чистки.
  • Гибкость: разворачивайте вложенные объекты в точечные ключи или сериализуйте как одну ячейку, выбирайте любой разделитель для нестандартных CSV-диалектов и настраивайте источник заголовков — все ключи или только первая запись.

Каковы распространённые применения преобразования JSON в CSV?

Разворачивание JSON в CSV встречается во множестве задач работы с данными и инструментария:

  • Экспорт данных: превращение ответа API в файл CSV, который команды финансов, операций или продукта могут открыть в Excel или Google Sheets без написания кода.
  • Отчётность: вставка результата JSON-запроса в таблицу для сводной таблицы, диаграммы или быстрого столбца формул. Такая работа крайне неудобна с сырым JSON.
  • Проверка в таблице: разворачивание вложенного JSON-конфига (настройки, флаги функций, A/B-варианты) в CSV, чтобы нетехнические рецензенты могли читать и редактировать его по ячейкам.

Как выглядит пример преобразования JSON в CSV?

Вставьте [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}], оставьте запятую в качестве разделителя и нажмите ПРЕОБРАЗОВАТЬ. Вы получите три строки: заголовок name,age, строку данных Alice,30 и строку "Bob, Jr.",25. Встроенная запятая — именно то, что ломает наивный join; здесь она включает экранирование по RFC 4180, сохраняя ячейку целой.

Работает ли этот конвертер JSON в CSV полностью в моём браузере?

Да. Каждый этап разбора, разворачивания и записи выполняется локально как JavaScript внутри вкладки браузера. Инструмент вообще не вызывает fetch, XMLHttpRequest или navigator.sendBeacon — ваши JSON-данные никогда не попадают на наши серверы, в сторонний конвертер или в аналитический конвейер. Инструмент также работает офлайн после загрузки страницы, поскольку это статический бандл HTML/CSS/JS без зависимостей от внешнего API.

Каков максимальный размер ввода, который выдержит этот конвертер?

Конвертер буферизует весь ввод в памяти и работает синхронно в главном потоке, поэтому практические пределы зависят от вашего устройства. Массив JSON до примерно 10 МБ (около 100 000 типичных записей) разворачивается в CSV без заметной паузы на современном ноутбуке. За этим порогом интерфейс может подвиснуть, пока работает генератор. Потоковое преобразование с использованием Web Worker и генератора по чанкам — запланированное продолжение; пока что очень большие наборы данных лучше разбивать перед вставкой.

Как генератор обрабатывает значения с запятыми, кавычками или переносами строк?

По RFC 4180. Любое значение, содержащее активный разделитель, двойную кавычку, CR или LF, обёртывается двойными кавычками, а внутренние кавычки удваиваются. Поэтому имя вроде Bob, Jr. становится одной ячейкой "Bob, Jr." и не разваливается на два столбца, а многострочное описание остаётся в одной ячейке. Именно здесь ломается наивный join(',').

Что происходит с вложенными объектами JSON при преобразовании в CSV?

Вложенные объекты обрабатываются согласно переключателю Вложенные объекты. В режиме Развернуть (по умолчанию) ключи соединяются точкой — {"user":{"id":1,"city":"Paris"}} становится колонками user.id и user.city. В режиме Сериализовать вложенный объект сериализуется как одно значение ячейки JSON с сохранённым экранированием по RFC 4180, что сохраняет его структуру для круговых преобразований. Массивы внутри объектов сериализуются как JSON в обоих режимах.

Какие разделители поддерживает вывод CSV?

Четыре: запятая (,, по умолчанию RFC 4180), точка с запятой (;, распространена в европейских локалях), табуляция (\t, диалект TSV) и вертикальная черта (|). Выберите тот, который ожидает ваш инструмент. Генератор экранирует любую ячейку, содержащую выбранный разделитель, так что выбор никогда не портит значение.

Этот конвертер JSON в CSV разворачивает ваш массив и выдаёт совместимый с RFC 4180 вывод, который можно вставить прямо в таблицу, отчёт или код-ревью — без отправки единого байта. Нужно в обратную сторону? Конвертер CSV в JSON разбирает данные в другом направлении.