Полное руководство по конвертации CSV в 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 |
| Ошибка раскрытия вложенности | Нерегулярная иерархия ключей | Проверьте согласованность точечных разделителей |
Практические советы
- Форматируйте вывод с помощью Форматирования JSON после конвертации
- Быстро проверяйте результаты с помощью JSONPath
- CSV, экспортированный из Excel, часто содержит BOM-заголовок — удалите его перед конвертацией
- Стандартизируйте поля дат в формате ISO 8601
Итоги
Конвертация CSV в JSON — частая операция в повседневной разработке. Понимание структурных различий и правил конвертации в сочетании с Инструментом JSON↔CSV обеспечивает эффективное преобразование форматов данных. Для сложных сценариев вложенности или больших файлов применяйте советы из этого руководства для последовательного решения проблем.