Полное руководство по конвертации CSV в JSON

JSON

Структурные различия между CSV и JSON

CSV (Comma-Separated Values) и JSON (JavaScript Object Notation) — два наиболее распространённых формата данных, но их структуры принципиально различны:

Особенность CSV JSON
Структура Плоская таблица Вложенное дерево
Типы данных Все строки Строка, число, логическое, null
Вложенность Не поддерживается Нативная поддержка
Комментарии Не поддерживаются Не поддерживаются (JSON5 поддерживает)
Случаи использования Табличные данные, экспорт Excel Ответы API, конфигурационные файлы

Правила конвертации

CSV в JSON

Каждая строка CSV конвертируется в объект JSON. Первая строка служит ключами (заголовками), а последующие строки предоставляют значения:

name,age,city
Alice,28,New York
Bob,32,London

Результат конвертации:

[
  { "name": "Alice", "age": 28, "city": "New York" },
  { "name": "Bob", "age": 32, "city": "London" }
]

JSON в CSV

Каждый объект в массиве JSON разворачивается в строку CSV, при этом ключи объекта формируют строку заголовков.

Конвертация с помощью Инструмента JSON↔CSV

Шаг 1: Подготовьте данные

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

Шаг 2: Выберите направление конвертации

Откройте Инструмент JSON↔CSV и выберите режим "CSV → JSON" или "JSON → CSV".

Шаг 3: Вставьте или загрузите данные

Вставьте данные в область ввода или загрузите файл .csv или .json напрямую.

Шаг 4: Настройте параметры

  • Разделитель: По умолчанию запятая; также поддерживает табуляцию (TSV) и точку с запятой
  • Включить заголовки: Определяет, будет ли первая строка обрабатываться как имена полей
  • Раскрытие вложенности: Как обрабатываются вложенные объекты в JSON
  • Автоопределение чисел: Автоматически конвертирует "28" в 28

Шаг 5: Получите результаты

Нажмите кнопку конвертации. Результаты мгновенно появятся в области вывода и могут быть скопированы или загружены одним нажатием.

Работа с заголовками

Заголовки — основа CSV. При конвертации обратите внимание:

  • Пробелы и специальные символы в заголовках сохраняются как ключи JSON
  • Используйте именование в нижнем регистре + подчёркивание (напр., user_name) для удобства дальнейшей обработки
  • Если в CSV нет заголовка, инструмент автоматически генерирует имена столбцов по умолчанию, такие как col_1, col_2

Работа с вложенными объектами

CSV изначально не поддерживает вложенность, но некоторые CSV-файлы используют точечную нотацию для иерархии:

user.name,user.email,order.id
Alice,alice@example.com,1001

Включите опцию "Авто-раскрытие вложенности" в Инструменте JSON↔CSV для генерации:

{
  "user": { "name": "Alice", "email": "alice@example.com" },
  "order": { "id": 1001 }
}

Советы по работе с большими файлами

  • Для CSV-файлов более 10 МБ рассмотрите пакетную конвертацию
  • Используйте потоковую обработку, чтобы избежать переполнения памяти
  • Инструмент поддерживает онлайн-конвертацию файлов до 50 МБ
  • Для очень больших файлов выполните предварительную обработку локально с помощью Python (pandas)

Частые ошибки и решения

Ошибка Причина Решение
Несогласованное количество полей Лишняя/недостающая запятая в строке Проверьте полноту кавычек
Искажённый текст из-за кодировки Файл не в UTF-8 Сначала конвертируйте кодировку в текстовом редакторе
Ошибка парсинга JSON Неверный формат Исправьте с помощью Форматирования JSON
Ошибка раскрытия вложенности Нерегулярная иерархия ключей Проверьте согласованность точечных разделителей

Практические советы

  1. Форматируйте вывод с помощью Форматирования JSON после конвертации
  2. Быстро проверяйте результаты с помощью JSONPath
  3. CSV, экспортированный из Excel, часто содержит BOM-заголовок — удалите его перед конвертацией
  4. Стандартизируйте поля дат в формате ISO 8601

Итоги

Конвертация CSV в JSON — частая операция в повседневной разработке. Понимание структурных различий и правил конвертации в сочетании с Инструментом JSON↔CSV обеспечивает эффективное преобразование форматов данных. Для сложных сценариев вложенности или больших файлов применяйте советы из этого руководства для последовательного решения проблем.

#CSV#JSON#数据转换#表格#开发