tigtools

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

Вставьте текст CSV или откройте файл, чтобы получить массив JSON с объектами или массивами. Обработка происходит в браузере, поэтому данные не покидают ваше устройство.

Работает в браузере Без регистрации

Формат результата

Как пользоваться

  1. Вставьте текст CSV, откройте файл .csv или .tsv либо нажмите «Попробовать пример».
  2. Оставьте «Определять автоматически» или выберите разделитель вручную и укажите, содержит ли первая строка названия столбцов.
  3. При необходимости включите определение чисел, логических значений и null, а также выберите формат результата: объекты или массивы.
  4. Скопируйте JSON или скачайте его в виде файла .json.

Как это работает

Парсер соответствует RFC 4180 — спецификации CSV: поля можно заключать в двойные кавычки, внутри заключённого в кавычки поля могут быть разделители и переносы строк, а две двойные кавычки внутри такого поля обозначают один символ кавычки. Переносы строк могут быть CRLF (Windows), LF (macOS, Linux) или CR; завершающий перенос строки не создаёт пустую запись. Полностью пустые строки пропускаются. BOM в начале файла, который часто добавляет Excel, удаляется. Если закрывающей кавычки нет, появится ошибка с номером строки, где поле начинается: попытка угадать привела бы к тому, что остаток файла незаметно слился бы в одну ячейку.

Автоопределение проверяет запятые, точки с запятой, табуляцию и вертикальные черты в первых строках и выбирает разделитель, при котором число столбцов получается одинаковым. Если есть строка заголовков, каждая запись становится объектом с ключами, заданными названиями столбцов. Пустые названия заменяются на column_1, column_2…; к повторяющимся названиям добавляется суффикс, например id_2. Если в строке меньше полей, чем в заголовке, недостающие значения будут пустыми; для лишних полей создаются дополнительные названия столбцов.

По умолчанию все значения остаются строками — так безопаснее: почтовые индексы вроде 01234, номера телефонов и идентификаторы сохраняют начальные нули. Если включить определение типов, значения в точном формате JSON-чисел преобразуются в числа (но не 007, 1,5 и целые числа больше 2^53), true и false в любом регистре — в логические значения, а null и пустые ячейки — в null. Даты остаются текстом.

Примеры

Экспорт из таблицы

id,name,price\n1,Desk,149.90 преобразуется в [{"id":"1","name":"Desk","price":"149.90"}]. Если включить определение типов, результат будет таким: {"id":1,"name":"Desk","price":149.9}.

Файлы Excel для Европы

В файле, сохранённом в Excel в Германии, используется точка с запятой: Name;Preis\nTisch;149,90. Автоопределение выбирает точку с запятой, а 149,90 остаётся строкой "149,90", поскольку это не число в формате JSON.

Ячейки с переносами строк

Адресная ячейка со значением "221B Baker Street London" (в кавычках, на двух строках) остаётся одним значением — "221B Baker Street\nLondon", а не начинает новую строку.

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

Почему числа в JSON представлены строками?

В CSV нет типов данных, поэтому по умолчанию каждое значение сохраняется как текст, точно в том виде, как оно записано. Включите «Определять числа, true/false и null», чтобы преобразовывать значения, похожие на числа. Начальные нули и десятичные запятые остаются текстом, чтобы избежать изменения данных.

Что если в строке столбцов больше или меньше, чем в заголовке?

Отсутствующие значения становятся пустыми строками (или null, если включено определение типов). Лишние значения сохраняются под дополнительными ключами column_N, поэтому данные не теряются.

Можно ли открыть файлы Excel .xlsx?

Нет, поддерживаются только текстовые файлы CSV и TSV. В Excel или Google Sheets сначала выберите «Файл › Сохранить как» или «Скачать › CSV», а затем откройте файл здесь.

Файлы какого размера можно преобразовать?

Файлы размером в несколько мегабайт преобразуются за мгновение на настольном компьютере. Ограничение зависит от памяти устройства: весь файл и результат JSON хранятся во вкладке браузера.

Конфиденциальность

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