Конвертер JSON ↔ CSV
Преобразуйте JSON в CSV и CSV обратно в JSON прямо в браузере. Вставьте массив объектов, чтобы получить таблицу, готовую для табличного редактора, или вставьте CSV и получите структурированный JSON — с полным контролем над разделителем и строкой заголовка.
Разделитель
Введите данные выше, чтобы увидеть здесь результат преобразования.
Как пользоваться Конвертер JSON в CSV
- 1
Выберите направление
С помощью переключателя выберите JSON в CSV или CSV в JSON. Кнопка смены направления переносит результат во входное поле, чтобы вы могли выполнить обратное преобразование.
- 2
Вставьте данные
Вставьте JSON-массив объектов или текст CSV во входное поле. Преобразование выполняется автоматически по мере ввода.
- 3
Настройте параметры
Выберите разделитель, соответствующий вашим данным, а при чтении CSV решите, является ли первая строка заголовком и нужно ли распознавать числа и логические значения.
- 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?
Какой формат CSV использует конвертер?
Может ли он преобразовать CSV обратно в JSON?
Как обрабатываются вложенные объекты?
Загружаются ли мои данные на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами