CSV → JSON конвертер

Вставьте CSV или перетащите файл — получите чистый JSON с корректной обработкой кавычек, запятых внутри полей и переносов строк. Работает и в обратную сторону.

Почему разбор CSV сложнее, чем кажется

Единой спецификации CSV не существует, но RFC 4180 описывает то, что производит большинство инструментов. Три правила порождают почти все ошибки разбора:

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

Ловушка ведущего нуля

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

Частые вопросы

Обрабатываются ли запятые внутри полей в кавычках?

Да. Парсер следует RFC 4180: поле в двойных кавычках может содержать запятые, переносы строк и экранированные кавычки, записанные двумя двойными кавычками подряд. Разбиение по запятым регулярным выражением — обычный короткий путь, и он портит любой файл с адресом или описанием в кавычках.

Как обрабатываются числа и булевы значения?

При включённом определении типов значения, похожие на числа, становятся числами JSON, true и false — булевыми, а пустые поля — null. Отключите это, если у вас идентификаторы, которые должны остаться строками: почтовые индексы, телефоны и всё с ведущими нулями теряют эти нули, как только становятся числами.

Что если в файле точки с запятой или табуляция?

Задайте разделитель вручную или оставьте автоопределение: оно анализирует первые несколько строк и выбирает то из запятой, точки с запятой или табуляции, что встречается наиболее последовательно. В локалях, где запятая — десятичный разделитель, стандартом является точка с запятой, поэтому европейские выгрузки часто требуют этого.

Можно ли преобразовать JSON обратно в CSV?

Да — переключите направление вверху. JSON→CSV ожидает массив объектов, а порядок столбцов берётся из объединения всех найденных ключей, поэтому записи с пропущенными полями всё равно выстраиваются правильно.

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