Руководство

Как преобразовать JSON в CSV

Вставьте корректный JSON-объект или подходящий непустой массив, задайте разделитель и запустите преобразование. По умолчанию используется запятая, а массив должен начинаться с объекта и содержать пригодные для обработки записи.

Инструмент Конвертер JSON в CSV

Подготовка исходных данных

Конвертер переводит текст JSON в текст CSV с выбранным разделителем. Такой результат удобно использовать там, где данные должны быть представлены строками и столбцами. Подходящий вход состоит из одного объекта либо из непустого массива, начинающегося с объекта.

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

Перед запуском оцените структуру исходного набора. У массива стоит проверить каждый элемент, потому что начальная проверка касается первого элемента, а поздние элементы отдельно не проверяются как объекты. Число, null или вложенный массив в последующей позиции могут привести к сбою при обработке.

Заголовок CSV формируется по названиям полей, найденным в обработанных записях. Новое название добавляется при первом обнаружении, поэтому порядок столбцов определяется исходным JSON. Если запись не содержит поля из заголовка, на соответствующем месте строки остаётся пустое значение.

Последовательность преобразования

  1. Составьте корректный JSON-текст. Для одной записи подойдёт объект вида { "id": 17, "name": "Ирина" }. Для нескольких записей используйте непустой массив, первым элементом которого служит объект. Проверьте кавычки, запятые и парные скобки, чтобы синтаксис был завершённым.

  2. Вставьте подготовленный текст в поле ввода конвертера. Не оставляйте поле пустым и не вводите только пробелы. На верхнем уровне используйте объект или массив с объектом в первой позиции. Число, строка, логическое значение, null и пустой массив для этого преобразования не подходят.

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

  4. Запустите обработку доступным элементом управления. После принятия JSON появится CSV-текст. Для объекта после заголовка создаётся одна строка, а для массива число строк данных соответствует числу обработанных записей. Значения в строках перед записью преобразуются в текст.

  5. Просмотрите результат до дальнейшего использования. Сопоставьте фактический разделитель с ожиданиями принимающей программы, проверьте порядок столбцов и обратите внимание на пустые ячейки. При различающихся наборах полей заголовок объединяет названия, встреченные в записях.

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

Чтение и проверка результата

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

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

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

Не ожидайте автоматического превращения вложенного объекта или массива в отдельный набор столбцов: подтверждено лишь текстовое представление включённых значений. Если нужна однородная выгрузка, заранее приведите записи к совместимой объектной структуре.

Неверный JSON отклоняется, как и неподдерживаемое значение верхнего уровня. Пустой массив также не проходит начальные проверки. При выборе разделителя учитывайте его нормализацию: из нескольких символов сохраняется первый, а пустое значение даёт запятую.

Практический пример

Вам нужно получить CSV из двух записей клиентов, представленных массивом JSON с полями id и name без вложенных структур.

Вставьте массив из двух объектов с полями id и name, оставьте разделитель по умолчанию и запустите преобразование. При принятом JSON после заголовка должны появиться две строки, по одной для каждого объектного элемента массива, а разделителем будет запятая с учётом настройки.

Ожидается строка заголовка с полями id и name, затем две строки данных; порядок столбцов определяется первым появлением этих названий и выбранным разделителем.

Ограничения

  • Вложенные объекты и массивы не подтверждены как отдельные CSV-столбцы, а неподходящий поздний элемент может прервать обработку ошибкой.

Частые ошибки

  • Причина может быть в ошибке синтаксиса, пустом массиве или неподходящем элементе после первого объекта. Исправьте JSON, поставьте объект первым и проверьте объектную структуру каждой записи перед повторным запуском.

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

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

Условие выполняется, если верхний уровень представлен одним объектом. Он обрабатывается как одна запись, поэтому после строки заголовка появляется одна строка данных без дополнительных строк от других записей.

Поддерживается ли массив JSON?

Массив подходит, когда он непустой и начинается с объекта. Последующие элементы отдельно не проходят такую проверку, поэтому число, null или массив в поздней позиции может вызвать сбой вместо готового CSV.

Как выбрать разделитель CSV?

Если разделитель не задан, используется запятая. Для значения из нескольких символов сохраняется только первый, а пустое значение возвращается к запятой; задайте один нужный знак и проверьте получившийся текст.

Инструмент

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