Когда CSV превращать в JSON
Таблица приходит в CSV, а следующий шаг обработки ждёт массив объектов JSON. Кажется, что достаточно поменять расширение, но в таком преобразовании теряются важные детали: разделитель, кодировка, кавычки внутри ячеек и смысл первой строки. Если их не заметить, результат может быть синтаксически правильным и при этом содержать неверные данные.
Сначала посмотрите на три строки
Откройте заголовок и пару записей в текстовом редакторе. Убедитесь, какой символ разделяет столбцы: запятая, точка с запятой или табуляция. Проверьте, нет ли разделителя внутри значения в кавычках. Поле "Москва, центр" должно остаться одной ячейкой, а не превратиться в две. Если первая строка содержит названия столбцов, будущие объекты JSON получат понятные ключи; если это обычные данные, режим заголовка использовать нельзя.
Для небольшого образца удобно применить преобразование CSV в JSON, указав разделитель и наличие строки заголовков. Сразу после конвертации сравните первую и последнюю записи с оригиналом. Эта простая проверка часто обнаруживает сдвиг колонок до того, как ошибка уйдёт в импорт.
Какие значения требуют отдельного решения
- Числа. Строка
00123может быть кодом товара, а не числом 123. Не удаляйте ведущие нули автоматически. - Пустые ячейки. Пустая строка, отсутствие ключа и
nullозначают разные вещи для многих систем. - Даты. Запись
03/04/2026неоднозначна без договорённости о формате и часовом поясе. - Повторные заголовки. Два столбца с одним именем нельзя бездумно превратить в два одинаковых ключа объекта.
Не пропускайте проверку после конвертации
Посчитайте строки данных и элементы массива: числа должны совпасть, если вы не фильтровали записи. Проверьте одну ячейку с кавычками, одну пустую и одну с не-ASCII символами. Потом пропустите результат через синтаксическую проверку JSON и, если есть возможность, через схему принимающего API. Конвертер отвечает за структуру, а не за правильность предметных данных.
Для больших выгрузок лучше автоматизировать эти проверки в коде и оставить в отчёте количество входных строк, выходных объектов и отклонённых записей. Ручной инструмент полезен как быстрый способ понять формат и подготовить контрольный пример до запуска массового импорта.