Почему JSON не конвертируется: три главные причины
Когда исходный код не удается перевести в табличный вид, сбой обычно вызывают три фактора: нарушение синтаксиса JSON (лишние запятые, одинарные кавычки, незакрытые скобки), некорректная корневая структура (передан не массив объектов) или пустое поле ввода. В онлайн-сервисе конвертер JSON в CSV на платформе Zyntec валидатор проверяет структуру перед генерацией таблицы и сразу выводит точное сообщение о проблеме.
Перед повторной отправкой достаточно проверить, начинается ли ваш код с квадратной скобки [, закрыты ли все кавычки и используется ли валидный формат данных без комментариев.
Распространенные ошибки, причины и способы исправления
Ниже собраны типовые системные сообщения и визуальные дефекты таблицы, с которыми можно столкнуться при конвертации.
| Сообщение или симптом | Причина проблемы | Как исправить |
|---|---|---|
| «Вставьте JSON-массив объектов» | Поле «json» оставлено пустым либо содержит только пробелы. | Вставьте исходные данные в текстовое поле перед отправкой формы. |
| «Ошибка JSON: ...» (с указанием строки и позиции) | Синтаксическая ошибка: незакрытая фигурная или квадратная скобка, одинарные кавычки вместо двойных, висящая запятая в конце списка или наличие комментариев //. |
Найдите указанную позицию в коде, замените одинарные кавычки ' на двойные ", удалите лишние запятые перед закрывающими скобками и сотрите комментарии. |
| «Ожидается JSON-массив объектов» | Входной текст содержит одиночное число, строку, логическое значение или массив примитивов вместо объектов. | Оберните одиночный объект в квадратные скобки [{...}] или передайте массив объектов. Если передан объект с одним ключом, содержащим массив, конвертер извлечет его автоматически. |
| Колонки в итоговом файле «поехали» | Внутри строковых значений встречается тот же символ, что выбран в качестве разделителя. | Измените параметр «разделитель» в форме: выберите точку с запятой, табуляцию или вертикальную черту вместо запятой. |
| Вложенные поля изменили названия | Включен параметр «плоский» (значение 1 по умолчанию). | При значении 1 вложенные объекты преобразуются в точечные пути (например, address.city), а массивы - в колонку вида ключ[] со значениями через запятую. Если нужна исходная JSON-строка внутри ячейки, установите «плоский» в значение 0. |
| Появились пустые ячейки | Объекты в исходном массиве имеют разный набор полей. | Заголовки CSV формируются как объединение всех уникальных ключей из всех объектов. Если у конкретного элемента ключ отсутствует, ячейка остается пустой - это нормальное поведение формата. |
Порядок диагностики структуры за 5 шагов
Если файл не обрабатывается или результат выглядит некорректно, выполните последовательную проверку исходного текста:
- Проверьте наличие данных. Убедитесь, что обязательное поле «json» заполнено и не содержит скрытых непечатаемых символов в начале строки.
- Проверьте корневой тип. Корневым элементом должен быть массив
[...]. Если у вас один объект{...}, добавьте по краям квадратные скобки. - Проверьте кавычки и запятые. Стандарт JSON допускает только двойные кавычки
"для названий ключей и строковых значений. Убедитесь, что после последнего элемента перед скобкой}или]нет замыкающей запятой. - Настройте режим вложенности. Если внутри объектов содержатся списки или дочерние структуры, решите, как их отображать. Опция «плоский» = 1 создаст понятные заголовки вроде
user.nameиtags[], а опция 0 запишет вложенный блок как сырой JSON-текст прямо в ячейку таблицы. - Подберите разделитель колонок. Если в текстах часто используются запятые (например, в адресах или описаниях), задайте в поле «разделитель» точку с запятой
;или символ вертикальной черты|.
Профилактика ошибок при работе с большими выгрузками
Перед загрузкой массивных файлов на сотни тысяч строк проверьте корректность преобразования на маленьком тестовом фрагменте из 2-3 объектов. Это позволит сразу увидеть, правильно ли распределяются колонки, не конфликтует ли разделитель со значениями полей и как выглядит развертывание вложенных структур в плоском режиме. После успешного теста можно безопасно конвертировать весь массив данных целиком.