Конвертировать CSV в JSON
Преобразуйте выгрузку таблицы в JSON, NDJSON или обычные массивы. Разделитель и кодировка текста подбираются автоматически.
Перетащите файлы сюда
.csv, .tsv, .txt · до 300 МБ
Больше настроекМеньше настроек
Как конвертировать в JSON
- 1
Перетащите CSV-файл
Перетащите файл .csv, .tsv или .txt на страницу или добавьте сразу несколько. Байты читаются и разбираются прямо в этой вкладке браузера.
- 2
При необходимости поправьте разделитель или кодировку
Оба определяются автоматически. Если результат выглядит неправильно, выберите разделитель или кодировку вручную и конвертируйте еще раз.
- 3
Конвертируйте и скачайте JSON
Выберите объекты, массивы или NDJSON, нажмите кнопку и сохраните результат.
Точка с запятой, табы и другие разделители
CSV, экспортированный европейской версией Excel, чаще всего разделен точкой с запятой. Таблицы из баз данных — обычно табами. Проверяются пять вариантов — запятая, точка с запятой, таб, вертикальная черта и двоеточие. Побеждает тот, который дает одинаковое количество полей в выбранных строках. Если ни один вариант не подходит, инструмент так и сообщает, а не выбирает наугад.
Почему артикул остается строкой
«Умная» типизация превращает 42 в число, а true в булево значение, но в двух случаях намеренно останавливается. Значение с ведущим нулем, например 00123, сохраняет ноль и остается текстом. Так же ведет себя и целое число длиной больше пятнадцати цифр, потому что двадцатизначный ИНН теряет последние цифры, как только превращается в число JavaScript.
Объекты, массивы или NDJSON
В режиме объектов каждая строка превращается в отдельный JSON-объект с ключами из заголовка — этого ждет большинство API. В режиме массивов ключи отбрасываются, а на выходе остаются сырые строки. NDJSON записывает по одному компактному объекту в строке, без обрамляющих скобок. Такой формат BigQuery и Elasticsearch принимают пакетно.
Файл не покидает ваше устройство
Чтение байтов, определение кодировки, разбиение на поля и построение JSON происходят в этой вкладке браузера. Нет загрузки на сервер, очереди, аккаунта и серверной копии, которую потом нужно удалять. Закройте вкладку — и данные исчезнут из памяти. Конфиденциальная выгрузка не уходит в сеть без вашего ведома.
Частые вопросы
В чем разница между JSON и NDJSON?
Обычный JSON оборачивает все записи в один массив, поэтому парсеру нужно прочитать весь документ, прежде чем что-то использовать. NDJSON кладет по одному полному объекту в каждую строку, без скобок и запятых между ними, поэтому загрузчик может читать записи по одной в потоке. BigQuery, Elasticsearch и большинство систем для логов ожидают такой формат.
Почему числа получились строками?
Два правила специально оставляют значение текстом: ведущий ноль и больше пятнадцати цифр. В обоих случаях преобразование меняло бы данные: 00123 — это артикул, а не сто двадцать три, а длинный идентификатор теряет точность, как только становится числом с плавающей точкой. Все остальные числовые значения конвертируются как обычно.
Как сохранить ведущие нули в индексах и SKU?
Ничего делать не нужно: значения с ведущими нулями по умолчанию остаются строками. Если нужно, чтобы все поля, включая обычные числа и true/false, сохранились как есть, переключите типизацию с «умной» на «текст». Тогда преобразования не будет совсем.
В моем файле вместо запятых точки с запятой. Это подойдет?
Да. Точка с запятой — один из пяти разделителей, которые проверяются автоматически, вместе с табом, вертикальной чертой и двоеточием, поэтому европейский экспорт Excel обычно не требует настроек. Если автоопределение не сработало, выберите разделитель вручную, в том числе любой свой одиночный символ.
Почему кириллица в моем файле испорчена?
Почти наверняка файл сохранен в Windows-1251: в этой кодировке обычно выгружает российское бухгалтерское ПО. Сначала проверяется метка порядка байтов, затем байты строго валидируются как UTF-8. Если проверка не проходит, пробуется Windows-1251 или Windows-1252, в зависимости от распределения старших байтов. Если текст все равно выглядит неправильно, выберите нужную кодировку вручную.
Что будет, если у двух колонок одинаковый заголовок?
JSON-объект не может содержать два одинаковых ключа, поэтому, если заголовок повторяется, второй превращается в id_2, а третий — в id_3. Стиль ключей применяется уже после переименования: два разных заголовка, которые совпадают только после стилизации, например User ID и user_id в snake_case, становятся одним ключом, и колонка правее затирает предыдущую. Для такого файла оставьте в «Стиль ключей» вариант «Сохранять названия столбцов».
Что если в строке больше полей, чем в заголовке?
Лишние значения не выбрасываются. Они попадают в массив __extra в соответствующей записи. Найдите __extra в JSON, чтобы посмотреть проблемные строки и решить, нужно ли исправлять исходный файл.
Мой файл загружается на сервер?
Нет. Парсер — это обычный JavaScript, который выполняется в вашей вкладке браузера, без фонового запроса на загрузку. Ничего не сохраняется, не логируется и никуда не отправляется, а после первой конвертации инструмент работает и с полностью отключенной сетью.
Статьи по теме
- Как гонять CSV в Excel и обратно, не ломая данныеCSV, который прошел через Excel и вернулся обратно, может незаметно измениться по сравнению с исходным файлом, и отличия не всегда бросаются в глаза.
- Как очистить CSV от Windows-1251 и BOM перед импортомCSV, который в таблице выглядит нормально, все равно может сломать JSON-импорт из-за скрытого символа или неверной кодировки.