IT Market
Инструменты/Код/Документы/Конвертер CSV в JSON онлайн — массив объектов
CSV → JSON

Конвертируйте CSV таблицу в JSON массив

Коротко об инструменте

Конвертер CSV в JSON онлайн — массив объектов

Данные пришли таблицей, а нужны коду: сиды для базы, мок для фронтенда, тело запроса к API, справочник городов для формы. Страница читает первую строку CSV как имена полей, а каждую следующую превращает в объект и складывает всё в один массив. На выходе — готовый JSON, который можно скопировать в проект или сохранить файлом. Значения остаются строками: браузер не угадывает, где число, а где артикул с ведущим нулём. Обработка идёт во вкладке. Смотрите также: вернуть массив объектов обратно в таблицу, проверить полученный JSON на ошибки, почистить исходный CSV перед разбором.

Как пользоваться

  1. Вставьте таблицу в поле «CSV на входе» — первой строкой должны идти названия колонок, как в подсказке name,age.
  2. В списке «Разделитель» оставьте «Определить автоматически» — он ищется по первым строкам, а найденный печатается в строке статуса. Для выгрузки из русского Excel выберите «; точка с запятой».
  3. Нажмите «Конвертировать» и посмотрите массив в поле «JSON на выходе».
  4. Сверьте первый объект: ключи должны читаться словами, а не выглядеть как данные из первой записи.
  5. Нажмите «Копировать JSON», чтобы забрать результат в буфер, или «Скачать JSON», чтобы сохранить файл.

Вопросы и ответы

Почему числа в JSON получились строками в кавычках?

Потому что типы не угадываются. В таблице «007» и «7» выглядят по-разному, но оба являются текстом, и попытка автоматически привести всё к числам испортила бы артикулы, телефоны и почтовые индексы с ведущими нулями. Если числа нужны числами, приведите нужные поля на своей стороне: Number(row.qty) в JavaScript или int() при загрузке в Python.

Что будет, если в CSV нет строки заголовков?

Первая строка всё равно будет использована как имена ключей, и вы получите объекты с ключами вроде "1" и "Alex", а первая запись из выборки пропадёт. Проще всего добавить строку заголовков вручную перед вставкой: одна строка через запятую с понятными именами полей решает проблему и делает результат пригодным для кода.

Как быть, если внутри значения есть запятая?

Достаточно взять значение в двойные кавычки: разбор идёт по RFC 4180, и такое поле не режется. Внутри кавычек допустимы и запятая, и перенос строки, а сама кавычка удваивается — "он сказал ""да""". Незакрытая кавычка не портит данные молча: конвертация останавливается и выводит сообщение об ошибке. Запятая в значении без кавычек строку по-прежнему разорвёт — тогда добавьте кавычки в исходной выгрузке.

Можно ли получить не массив, а вложенную структуру?

Нет, результат всегда плоский: одна строка таблицы — один объект без вложенности. CSV по своей природе двумерен, и колонка user.address.city останется просто ключом с точками в имени. Вложенность собирайте уже в коде после конвертации либо готовьте JSON вручную.

Подойдёт ли результат для отправки в API?

Как тело запроса — да, если эндпоинт ждёт массив объектов, а все значения его устраивают в виде строк. Часто 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"}] — ноль сохранён, потому что значение остаётся строкой