Конвертируйте CSV таблицу в JSON массив
Коротко об инструменте
Данные пришли таблицей, а нужны коду: сиды для базы, мок для фронтенда, тело запроса к API, справочник городов для формы. Страница читает первую строку CSV как имена полей, а каждую следующую превращает в объект и складывает всё в один массив. На выходе — готовый JSON, который можно скопировать в проект или сохранить файлом. Значения остаются строками: браузер не угадывает, где число, а где артикул с ведущим нулём. Обработка идёт во вкладке. Смотрите также: вернуть массив объектов обратно в таблицу, проверить полученный JSON на ошибки, почистить исходный CSV перед разбором.
Потому что типы не угадываются. В таблице «007» и «7» выглядят по-разному, но оба являются текстом, и попытка автоматически привести всё к числам испортила бы артикулы, телефоны и почтовые индексы с ведущими нулями. Если числа нужны числами, приведите нужные поля на своей стороне: Number(row.qty) в JavaScript или int() при загрузке в Python.
Первая строка всё равно будет использована как имена ключей, и вы получите объекты с ключами вроде "1" и "Alex", а первая запись из выборки пропадёт. Проще всего добавить строку заголовков вручную перед вставкой: одна строка через запятую с понятными именами полей решает проблему и делает результат пригодным для кода.
Достаточно взять значение в двойные кавычки: разбор идёт по RFC 4180, и такое поле не режется. Внутри кавычек допустимы и запятая, и перенос строки, а сама кавычка удваивается — "он сказал ""да""". Незакрытая кавычка не портит данные молча: конвертация останавливается и выводит сообщение об ошибке. Запятая в значении без кавычек строку по-прежнему разорвёт — тогда добавьте кавычки в исходной выгрузке.
Нет, результат всегда плоский: одна строка таблицы — один объект без вложенности. CSV по своей природе двумерен, и колонка user.address.city останется просто ключом с точками в имени. Вложенность собирайте уже в коде после конвертации либо готовьте JSON вручную.
Как тело запроса — да, если эндпоинт ждёт массив объектов, а все значения его устраивают в виде строк. Часто API требует числа и булевы значения по схеме, поэтому перед отправкой стоит прогнать результат через валидатор или привести типы. Набор ключей у объектов всегда одинаковый: короткая строка добирается пустыми значениями, лишние поля в конце отбрасываются, а пустая ячейка даёт пустую строку, а не null.
Несколько тысяч строк обрабатываются без задержки, десятки тысяч — уже с ощутимой паузой, потому что и исходник, и результат целиком лежат в текстовых полях. Для крупных выгрузок разумнее написать пятистрочный скрипт на своей машине, а эту страницу использовать для быстрых порций и проверки формата.
Она остаётся в поле ввода вашей вкладки: разбор и сборку массива выполняет скрипт страницы, а кнопка «Скачать JSON» формирует файл локально. Данные не покидают устройство, поэтому клиентскую базу или выгрузку заказов можно конвертировать без риска. Обновление страницы очищает оба поля.
До: id,name,role 1,Alex,admin 2,Мария,editor
После: [{"id":"1","name":"Alex","role":"admin"},{"id":"2","name":"Мария","role":"editor"}] До: sku,qty 007,12
После: [{"sku":"007","qty":"12"}] — ноль сохранён, потому что значение остаётся строкой Оценка и фидбек помогают понять, что улучшать дальше.