T

Text Machine

Мощные текстовые инструменты прямо в браузере

Конвертер JSON ↔ CSV

Преобразуйте JSON в CSV и CSV обратно в JSON прямо в браузере. Вставьте массив объектов, чтобы получить таблицу, готовую для табличного редактора, или вставьте CSV и получите структурированный JSON — с полным контролем над разделителем и строкой заголовка.

Разделитель

Ввод JSON
Результат CSV

Введите данные выше, чтобы увидеть здесь результат преобразования.

Как пользоваться Конвертер JSON в CSV

  1. 1

    Выберите направление

    С помощью переключателя выберите JSON в CSV или CSV в JSON. Кнопка смены направления переносит результат во входное поле, чтобы вы могли выполнить обратное преобразование.

  2. 2

    Вставьте данные

    Вставьте JSON-массив объектов или текст CSV во входное поле. Преобразование выполняется автоматически по мере ввода.

  3. 3

    Настройте параметры

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

  4. 4

    Скопируйте результат

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

Превращение массивов JSON в готовый для таблиц CSV

Основное сопоставление: объекты становятся строками, ключи становятся столбцами

CSV — это плоская, двумерная сетка из строк и столбцов, тогда как JSON — это дерево. Поэтому осмысленное преобразование вполне конкретное: массив объектов верхнего уровня, где каждый объект — одна запись. Каждый объект становится одной строкой данных, а объединение всех ключей по всем объектам становится строкой заголовка. Вставьте массив из трёх записей о людях с полями name и role, и вы получите строку заголовка из name и role, за которой следуют три строки.

Сбор ключей по всем объектам, а не только по первому, — это то, что удерживает неровные данные выровненными. Если у вашей первой записи есть name и email, но вторая добавляет поле phone, конвертер всё равно выдаёт столбец phone и просто оставляет ячейку phone первой строки пустой. Порядок берётся по первому появлению, поэтому столбцы читаются в предсказуемой, стабильной последовательности.

Почему массив объектов — правильная форма ввода

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

Если ваши настоящие данные обёрнуты на один уровень глубже, например объект, чьё поле results содержит интересующий вас массив, сначала извлеките этот внутренний массив и вставьте его отдельно. Подача конвертеру массива напрямую — это то, что даёт чистую таблицу, а не одну сбивающую с толку строку.

Как обрабатываются вложенные объекты и массивы

У CSV нет понятия глубины, поэтому значение, которое само является объектом или массивом, не может развернуться в дополнительные столбцы без изобретения схемы уплощения. Этот инструмент идёт предсказуемым, обратимым путём: вложенное значение сериализуется как компактный текст JSON внутри одной ячейки. Поле address, содержащее улицу и город, становится одной ячейкой, содержащей этот небольшой объект в виде строки JSON, заключённой в кавычки, чтобы его внутренние запятые не сломали строку.

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

Заключение в кавычки и экранирование — часть, которая тихо портит файлы

Причина, по которой наивное соединение строк даёт сломанный CSV, в том, что разделитель может появиться внутри данных. Значение города "Portland, Oregon" содержит запятую; записанное сырьём, оно разделилось бы на две ячейки и сдвинуло бы каждый столбец после него. Конвертер следует общей договорённости RFC 4180: любое поле, содержащее разделитель, двойную кавычку или перенос строки, заключается в двойные кавычки, а любая двойная кавычка, уже находящаяся внутри значения, удваивается.

Так что значение, содержащее слова she said "hi", выдаётся с окружающими кавычками и удвоенными внутренними кавычками, а значение со встроенным переносом строки заключается в кавычки, чтобы перенос остался внутри одной ячейки, а не начал новую строку. Это в точности то кодирование, которого таблицы ожидают при импорте, и поэтому правильно закавыченный файл открывается чисто, тогда как сделанный вручную разбрасывает данные по сетке.

Выбор разделителя

Запятая — это значение по умолчанию и буква C в CSV, но она плохо подходит, когда ваши данные полны запятых или когда локаль вашей таблицы использует запятую как десятичный разделитель. По этой причине большая часть Европы по умолчанию использует точку с запятой, а аналитики часто предпочитают символ табуляции, потому что табуляции почти никогда не появляются внутри настоящих значений полей, обходя большую часть заключения в кавычки.

Подбирайте разделитель под то, куда отправляется файл. Если таблица коллеги упорно запихивает каждую строку в столбец A, обычная причина — несовпадение разделителя; переключайтесь между запятой, точкой с запятой и табуляцией, пока столбцы не разделятся правильно на его машине.

Обратное преобразование в JSON

Преобразование работает в обоих направлениях. Переключитесь на CSV-в-JSON, и строка заголовка именует ключи, тогда как каждая следующая строка становится объектом, что удобно, когда не-разработчик передаёт вам таблицу, а вам нужны структурированные данные для API или скрипта импорта. Одна оговорка определяет это путешествие туда и обратно: ячейки CSV — это нетипизированный текст, поэтому 42, прочитанное обратно из CSV, — это строка 42, а не число, если только вы не включите типизированный разбор.

Включите параметр разбора чисел и булевых значений, чтобы преобразовать обычный числовой и true/false текст в настоящие значения JSON на обратном пути. Даже тогда воспринимайте это путешествие туда и обратно как теряющее данные по сути — заключение в кавычки нормализует, информация о типах восстанавливается эвристикой, а любой вложенный JSON-в-ячейке приходится разбирать снова вручную. Для точной копии структурированных данных держите их в JSON всю дорогу.

Где это вписывается в реальный рабочий процесс

Повседневное применение — соединение инженерии и остальной части бизнеса: экспортируйте список API в CSV, чтобы он открывался в таблице, попадал в BI-дашборд или питал шаблон массового импорта. Аналитики получают сетку, которую можно сводить и строить по ней графики; вы пропускаете написание одноразового скрипта экспорта. Поскольку всё преобразование происходит в вашем браузере, вы можете делать это с боевыми данными — историями заказов, списками пользователей, внутренними метриками — не отправляя ничего из этого на сторонний сервер.

Практический совет для чистых экспортов: нормализуйте свои записи перед преобразованием. Убедитесь, что каждый объект использует одни и те же имена полей, поднимите массив из любого объекта-обёртки и заранее решите, должны ли вложенные поля уплощаться в вашем коде или оставаться как JSON-в-ячейке. Несколько минут на придание формы JSON дают CSV, который не требует очистки после импорта.

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

Как преобразовать JSON в CSV?
Вставьте JSON-массив объектов во входное поле. Каждый объект станет строкой, а инструмент соберёт все ключи из всех ваших объектов, чтобы автоматически построить заголовок столбцов, — так что даже записи с разными полями выстроятся правильно.
Какой формат CSV использует конвертер?
Он следует распространённому стандарту RFC 4180: любое поле, содержащее разделитель, двойную кавычку или перенос строки, заключается в двойные кавычки, а внутренние кавычки удваиваются. Разделитель можно переключать между запятой, точкой с запятой и табуляцией, чтобы он соответствовал вашему табличному редактору.
Может ли он преобразовать CSV обратно в JSON?
Да. Переключите направление на CSV в JSON. По умолчанию первая строка считается заголовком, который задаёт имена столбцов, а каждая последующая строка становится объектом JSON. Включите «Распознавать числа и логические значения», чтобы числовой текст и текст true или false превращались в настоящие значения JSON.
Как обрабатываются вложенные объекты?
Поскольку CSV — это плоский табличный формат, вложенные объекты и массивы при преобразовании из JSON в CSV сохраняются как компактный JSON-текст внутри одной ячейки. Для данных с глубокой вложенностью обычно лучше подходит формат JSON или YAML.
Загружаются ли мои данные на сервер?
Нет. Всё преобразование выполняется локально в вашем браузере. Ваши данные никогда не загружаются, не записываются в журнал и не сохраняются, поэтому они остаются полностью конфиденциальными, а инструмент продолжает работать даже без подключения к интернету.

Похожие инструменты

Продолжайте работу с этими удобными инструментами

Конвертер JSON в YAML

Конвертер Unix-времени

Конвертер CSV в JSON

Конвертер Двоичный ↔ Десятичный

Конвертер Десятичных ↔ Двоичных Чисел

Конвертер текста в двоичный код