CSV ↔ JSON
Инструмент преобразует таблицы CSV и TSV в JSON и JSON в CSV. Разделитель определяется автоматически, первая строка может задавать имена полей, а предпросмотр показывает, как данные лягут в строки и столбцы. Ошибки — незакрытая кавычка, лишние значения в строке, повторяющееся имя столбца — подчёркиваются в тексте. Пригодится, чтобы превратить выгрузку из Excel или Google Таблиц в данные для JavaScript и API или, наоборот, открыть ответ API в электронной таблице.
Как пользоваться
Выберите действие и вставьте текст в поле слева или откройте файл: .json включает «JSON → CSV», файлы .csv, .tsv и .txt — «CSV → JSON». Результат обновляется сам во время ввода.
«Первая строка — заголовки» превращает каждую строку CSV в объект с полями по именам столбцов; без этой настройки строка становится массивом значений. «Числа и true/false» записывает такие значения в JSON без кавычек; иначе все ячейки остаются строками.
Для Excel с русскими региональными настройками выберите разделитель «;» и оставьте «BOM для Excel» — без этой метки Excel откроет кириллицу в неверной кодировке. При копировании результата метка не добавляется.
Данные обрабатываются в браузере, не отправляются на сервер и не сохраняются после закрытия страницы. Размер — до 2 МБ в UTF-8.
Для вашего удобства рекомендую использовать полноэкранный режим.
CSV
name;price;stock;tags "Футболка ""Basic""";990;true;"хлопок, лето" Кружка;450.50;false; Блокнот;007;true;бумага
JSON
Таблица
Для преобразования включите JavaScript. Пример: CSV name;price
Кружка;450 соответствует JSON [{"name": "Кружка", "price": "450"}].
Как выполняется преобразование
- Значение в двойных кавычках может содержать разделитель и перенос строки; кавычка внутри такого значения записывается двумя кавычками:
"Футболка ""Basic""". - Разделитель определяется по первым строкам: выбирается тот из
,,;, табуляции и|, который делит строки на одинаковое число столбцов. - Числа распознаются только в записи JSON:
450.50станет числом, а007,1 000и1,5останутся строками — иначе потерялись бы ведущие нули и пробелы. - Если в строке меньше значений, чем столбцов, недостающие становятся пустыми строками, а статус сообщает, сколько таких строк. Лишние значения считаются ошибкой: обычно это неверный разделитель или незакрытая кавычка.
- В JSON → CSV столбцы собираются из ключей всех объектов в порядке появления. Вложенные объекты и массивы записываются в ячейку как JSON, а
nullи отсутствующее поле — пустой ячейкой.
CSV и соответствующий JSON при включённых заголовках и распознавании чисел:
name;price;stock
Кружка;450.50;false
Блокнот;007;true[
{ "name": "Кружка", "price": 450.50, "stock": false },
{ "name": "Блокнот", "price": "007", "stock": true }
]Что проверить вручную
CSV не хранит типы: пустая ячейка может означать пустую строку, null или отсутствие поля, поэтому после обратного преобразования различие между ними теряется. Даты остаются строками в той записи, что была в файле. Если таблица попадёт к другим людям, учтите, что Excel воспринимает значения, начинающиеся с =, +, - или @, как формулы — не открывайте файлы из ненадёжных источников без проверки.
Вопросы и ответы
Почему Excel показывает всё в одном столбце?
Excel с русскими настройками ожидает разделитель «;», а не запятую. Выберите «;» перед скачиванием или откройте файл через «Данные → Из текстового/CSV-файла» и укажите разделитель вручную.
Чем TSV отличается от CSV?
Только разделителем: в TSV значения разделены табуляцией. Такой формат получается при копировании диапазона ячеек из электронной таблицы — вставьте его в поле, и разделитель определится автоматически.
Безопасно ли вставлять выгрузку с персональными данными?
Данные обрабатываются в вашем браузере и не отправляются на сервер. Предпросмотр выводит значения только как текст.
Изучить JSON
Синтаксис JSON и работа с ним в JavaScript описаны в статьях об объекте JSON и методах JSON.parse() и JSON.stringify().