Откройте или вставьте CSV-файл — JSON появится рядом с настройками и будет меняться вместе с ними. По умолчанию каждая строка становится объектом, ключи которого — названия столбцов; если принимающий код ждёт другую структуру, выберите массив массивов, объект с массивами по столбцам или JSON Lines. Все значения по умолчанию остаются строками, поэтому 00731 и 20-значные идентификаторы выходят в точности такими, какими были; распознавание чисел включайте, только когда столбец действительно должен стать числами JSON и значениями true/false. Для файлов конфигурации те же строки в формате YAML запишет CSV в YAML. Файл конвертируется в вашем браузере и никогда не загружается на сервер.
Как преобразовать CSV в JSON
- Откройте файл
.csv,.tsvили.txt, перетащите его на инструмент или вставьте строки. Разделитель и метка порядка байтов UTF-8 или UTF-16 определяются автоматически; другой разделитель или устаревшую кодировку, например Windows-1251, Windows-1252 или Shift_JIS, выберите в разделе Параметры импорта. - Выберите Структура JSON. В предпросмотре — первые 200 строк ровно того результата, который окажется в скачанном файле.
- Задайте Типы значений, Пустые ячейки, вложенность и отступы, затем нажмите Скачать JSON или Копировать.
Чтобы преобразовать много файлов с одинаковыми настройками, выберите Пакетная конвертация нескольких файлов и отметьте их все сразу: файлы конвертируются по очереди, а результаты скачиваются одним ZIP-архивом.
Структура JSON: объекты, массивы или JSON Lines
| Массив объектов | По объекту на строку с ключами из заголовка: [{"sku": "00731", …}]. Такую структуру ожидает большинство API и кода на JavaScript. |
|---|---|
| Массив массивов | Сначала строка заголовков, затем каждая строка в виде списка. Самый компактный результат; порядок столбцов задан явно. |
| Объект с массивами по столбцам | {"sku": ["00731", "00732"], …} — удобно для библиотек диаграмм и инструментов, работающих с датафреймами. |
| JSON Lines | По одному объекту JSON в строке (JSON Lines), без внешнего массива. Подходит для конвейеров логов, загрузки в BigQuery и построчной обработки. |
| Все значения как текст | Каждая ячейка становится строкой JSON ровно в том виде, как записана в файле. Это вариант по умолчанию. |
| Распознавать числа и true/false | Столбец становится числами JSON, только если каждое непустое значение — простое число, которое переживёт конвертацию: без ведущих нулей, не больше 15 значащих цифр, без десятичной запятой. Столбцы из true/false становятся логическими значениями. Даты остаются строками. |
| Пустые ячейки | Записывать "", null или вовсе не включать ключ в объект. |
| Вкладывать столбцы с точкой в имени | user.name и user.email превращаются в {"user": {"name": …, "email": …}}. Если имя одновременно является значением и родителем (user и user.name), такие столбцы остаются плоскими, и инструмент об этом сообщает. |
Заголовки, значения в кавычках и идентификаторы в JSON
- Запятые и кавычки (
"") внутри значений в кавычках, а также переносы строк читаются по RFC 4180 и записываются обычными escape-последовательностями строк JSON (\n,\"). - Названия заголовков используются ровно так, как записаны, включая пробелы и кириллицу или другие нелатинские письменности. Пустой заголовок становится
Column 3, повторяющийся —name (2), так что ни одно значение не перезаписывается. - Заголовки вроде
__proto__илиconstructorзаписываются как обычные ключи. - Если в строке больше значений, чем в заголовке, появляются дополнительные ключи
Column 4,Column 5…; в короткой строке недостающие значения пусты. Ничего не теряется. - Типизированный результат никогда не превращает
0012в12, а 19-значный номер заказа — в округлённое число с плавающей точкой: такой столбец остаётся текстом.
Частые проблемы при конвертации CSV в JSON
- Всё попало в один ключ. Разделитель определён неверно: выберите запятую, точку с запятой, табуляцию или вертикальную черту в параметрах импорта и откройте файл заново.
- Вместо букв «кракозябры» вроде é или ����. Файл не в UTF-8. Выберите его кодировку в параметрах импорта: у старых выгрузок из Excel это часто Windows-1252, а у файлов из русской Windows — Windows-1251.
- Числовой столбец остался текстом. Хотя бы одно значение не является простым числом — например,
1,5,12 kgили значение с ведущим нулём. Найдите его поиском по столбцу в просмотре CSV. - Ошибка кавычек с номером записи. Кавычка, открытая в этой записи, не закрывается. Исправьте её в редакторе CSV или проверьте выгрузку в исходной системе.
Ограничения и конфиденциальность
Файлы до 25 МБ, 100 000 строк или 2 млн ячеек открываются с живым предпросмотром. Бо́льшие файлы конвертируются в потоковом режиме: файл читается частями дважды (сначала чтобы узнать столбцы и типы, затем чтобы записать результат), вместо предпросмотра показывается уведомление, а скачанный файл содержит все строки. Один выходной файл ограничен 4 ГБ.
Конвертация идёт в фоновом обработчике в этой вкладке, поэтому страница не зависает, а кнопка Отмена её останавливает. CSV никогда не отправляется на сервер.
Пример: список товаров в виде объектов JSON
Список товаров с артикулом, начинающимся с нуля, и запятой в кавычках, преобразованный с настройками по умолчанию (всё как текст, массив объектов, отступ в 2 пробела). С Распознавать числа и true/false price становится 34.9, а in_stock — true, при этом sku остаётся "00731".
sku,name,price,in_stock 00731,"Desk lamp, brass",34.90,true 00732,Cable tidy,4.50,false
[
{
"sku": "00731",
"name": "Desk lamp, brass",
"price": "34.90",
"in_stock": "true"
},
{
"sku": "00732",
"name": "Cable tidy",
"price": "4.50",
"in_stock": "false"
}
]Вопросы и ответы
Почему по умолчанию числа в кавычках?
Потому что в CSV нет типов: 00731, 1.50 и 2024-03-01 — всё это просто текст. Если оставить их строками, JSON гарантированно скажет ровно то, что было в файле. Включайте распознавание чисел, когда точно знаете, что в столбце количества.
Можно ли здесь преобразовать JSON обратно в CSV?
Пока нет. Эта страница преобразует только CSV и TSV в JSON.
JSON Lines — это то же самое, что NDJSON?
На практике да: оба означают одно законченное значение JSON на строку, строки разделены символами перевода строки.