Как пользоваться: CSV в JSON
- Вставьте CSV, перетащите файл
.csv/.tsvв поле Открыть файл или нажмите Загрузить пример. - Разделитель определяется автоматически (запятая, точка с запятой, табуляция или вертикальная черта). При необходимости измените его вручную.
- Выберите параметры: строка заголовков, автоматическое распознавание чисел и логических значений, а также сборку вложенных объектов из заголовков с точечной нотацией.
- Проверьте предпросмотр таблицы, чтобы убедиться в правильности столбцов, затем нажмите Копировать или Скачать .json.
Что такое конвертация CSV в JSON?
Конвертер CSV в JSON читает табличный текст, где строки разделены переносами, а поля — разделителем, и выводит JSON. Если первая строка содержит заголовки, каждая строка становится объектом, ключами которого служат названия столбцов. Именно такой формат ожидают большинство API, JavaScript-код и NoSQL-базы данных:
id,name,active
1,Ada,true
превращается в [{"id": 1, "name": "Ada", "active": true}].
Настоящий CSV-парсер, а не разбиение по запятым
Если разбивать строки по запятым, всё ломается, как только поле содержит запятую, кавычку или перенос строки. Этот инструмент реализует правила RFC 4180:
- Поля в двойных кавычках могут содержать разделитель и переносы строк:
"Portland, OR". - Двойная кавычка внутри поля в кавычках обозначает символ кавычки:
"Note ""G"""→Note "G". - Работают и окончания строк Windows (CRLF), и Unix (LF), а UTF-8 BOM из Excel игнорируется.
- Незакрытая кавычка выводится с указанием строки, где она началась, а не молча «съедает» остаток файла.
- Строки с лишними или недостающими полями помечаются, чтобы вы заметили сдвинутые данные.
Определение типов
В CSV нет типов: все значения — это текст. Если включена опция Распознавать числа, логические значения и null, значения, похожие на числа JSON, становятся числами, true/false — логическими значениями, а null — значением null. Значения, которые пострадали бы от преобразования, остаются строками: почтовые индексы и идентификаторы с ведущими нулями (02134), а также целые числа, которые не помещаются в JavaScript (длиннее 15–16 цифр, например номера, похожие на номера банковских карт). Отключите опцию, чтобы сохранить все значения строками.
Сборка вложенного JSON
Заголовки с точечной нотацией преобразуются обратно во вложенные структуры: address.city и address.country становятся объектом address, а числовые сегменты, например tags.0 и tags.1, — массивами. Поэтому инструмент является обратным к нашему конвертеру JSON в CSV.
Разделители по регионам и программам
| Разделитель | Где встречается |
|---|---|
Запятая , | По умолчанию в большинстве программ и в Excel с английской локалью |
Точка с запятой ; | Выгрузки Excel в локалях с десятичной запятой (RU, DE, FR, ES, IT, NL…) |
| Табуляция | Файлы TSV, копирование из электронных таблиц |
Вертикальная черта | | Устаревшие системы и хранилища данных |
Нужно привести результат в порядок? Отформатируйте его с помощью JSON Formatter или создайте соответствующие типы с помощью JSON в TypeScript.
Также ищут как: csv to json онлайн, excel в json, tsv в json, csv парсер.
Инструменты, которые хорошо сочетаются с CSV в JSON
- Удаление дублей строк — Вставьте список, чтобы мгновенно удалить повторяющиеся строки.
- Валидатор JSON Schema — Вставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую схему по примеру данных.
- Тестер JSONPath — Введите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения.
- Валидатор OpenAPI / Swagger — Вставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и несогласованные параметры пути и увидеть все эндпоинты сразу.
Часто задаваемые вопросы
Как конвертировать файл Excel в JSON?
Почему некоторые числа сохраняются как строки?
007) и целые числа больше 253 при преобразовании в числа изменились бы, поэтому остаются строками. Отключите распознавание типов, чтобы сохранить всё как текст.Может ли поле содержать запятые или переносы строк?
"").Что делать, если в файле нет строки заголовков?
column1, column2… Или выберите вывод Массив массивов, чтобы получить простые строки.