CSV ⇄ JSON
Вставьте любой из форматов — другой появится по мере ввода, в обе стороны.
Как пользоваться
- Вставьте CSV (или TSV / текст с точкой с запятой) либо массив JSON в поле — результат рисуется по мере ввода, кнопки нет. Направление определяется по первому символу и показывается над результатом, чтобы вы могли проверить.
- Если направление угадано неверно, выберите CSV → JSON или JSON → CSV. Если всё попало в один столбец, замените «Авто» в разделителе на свой символ. Отключите «Первая строка — заголовок», когда файл начинается с данных — тогда получится массив массивов вместо объектов.
- Скопируйте или скачайте результат. Оба варианта используют ровно тот текст, что на экране; файл называется data.json или data.csv. «Загрузить пример» подставляет пример для активного направления.
Пример
Ввод (CSV)
order_id,customer,note,zip,amount,shipped 1001,"Иванова, Анна",просила возврат,00501,89.90,true 1002,Бен Картер,,10001,42.00,false
Результат (JSON)
[ { "order_id": 1001, "customer": "Иванова, Анна", "note": "просила возврат", "zip": "00501", "amount": 89.9, "shipped": true }, { "order_id": 1002, "customer": "Бен Картер", "note": "", "zip": 10001, "amount": 42, "shipped": false } ]
В этом результате стоит проверить четыре вещи: запятая внутри «Иванова, Анна» осталась внутри значения, а не разбила строку; индекс 00501 сохранил ведущий ноль, иначе он стал бы 501; 10001 действительно стало числом, поэтому столбец индекса получает смешанные типы — отключите «Определять числа и логические значения», чтобы все значения оставались строками; а 89.90 превратилось в 89.9, потому что число JSON не может хранить конечный ноль.
Правила, ограничения и известные проблемы
- Ни загрузки файлов, ни перетаскивания, ни запросов по URL: текст нужно вставить. Зона перетаскивания отняла бы высоту, нужную результату, а честное чтение файлов требует поддержки кодировок, отличных от UTF-8 — этим уже занимается просмотр CSV (GB18030, Big5, Windows-1256), поэтому откройте файл там и скопируйте текст.
- Ввод ограничен 1 000 000 символов; свыше 200 000 результат ждёт, пока вы перестанете печатать, и сообщает об этом. Выше жёсткого предела вы получаете явную ошибку — ввод никогда не обрезается молча.
- Определение типов идёт по ячейке и осторожно: преобразуются только true / false / null (только в нижнем регистре) и строгие числа JSON. Целые с ведущим нулём (00501) и числа из 16 и более цифр (длинные ID) всегда остаются строками, а пустые ячейки остаются "", а не становятся null.
- Число JSON не может хранить конечные нули, поэтому 89.90 становится 89.9, а 42.00 — 42. Отключите «Определять числа и логические значения», чтобы сохранить каждое значение ровно как написано.
- Число столбцов определяется самой широкой строкой, поэтому ни одно поле не теряется: короткие строки дополняются пустыми строками, а лишние поля получают автоматическое имя. Строки, не совпадающие с первой, перечисляются по номеру.
- Повторяющиеся имена столбцов переименовываются с _2, _3 … вместо перезаписи друг друга — перезапись молча потеряла бы целый столбец. Отсутствующие или пустые ячейки заголовка становятся column_N. Эти имена машиночитаемы и одинаковы во всех языках интерфейса.
- JSON → CSV принимает массив объектов (основной случай), массив массивов (позиционные столбцы), один объект и массив простых значений (один столбец «value»). Всё остальное — значение на верхнем уровне или массив, смешивающий объекты с другими значениями, — отклоняется с указанием строки и столбца, без догадок.
- Вложенные объекты по умолчанию разворачиваются в ключи через точку (address.city); массивы никогда не разворачиваются, они записываются компактным JSON внутри ячейки. Отключите разворачивание, чтобы вложенные объекты тоже оставались JSON. null становится пустой ячейкой.
- JSON разбирается строго: ни комментариев, ни лишних запятых, ни одинарных кавычек, ни неэкранированных управляющих символов, вложенность до 64 уровней. Один объект на строку (JSON Lines) не принимается — сначала оберните объекты в массив.
- CSV — прощающая сторона: незакрытая кавычка доводится до конца текста, и её строка называется; пустые строки пропускаются и подсчитываются, а строка с неверным числом полей попадает в список. Жёсткие ошибки даёт только сторона JSON.
- Выходной CSV записывается с переводами строк CRLF и без метки порядка байтов, и он совпадает с тем, что вы копируете. Если Excel показывает кракозябры при двойном щелчке по нелатинскому CSV, импортируйте его через «Данные → Из текста/CSV» и выберите UTF-8.
- Вне области: .xlsx, архивы, несколько файлов, JSON Lines, экспорт в YAML/XML/SQL/Excel, сортировка, фильтрация, выбор столбцов и удаление дубликатов — для этого есть просмотр CSV и конвертер конфигураций. Ничего не отправляется, не сохраняется и не попадает в URL.
Похожие инструменты
Что обычно нужно дальше, когда данные уже в другом формате.