Перейти к содержимому
Инструменты Кейсы Компания Контакты
+7 (495) 185-60-65
Сервисы

Конвертер CSV в JSON и обратно онлайн

Переводит CSV в JSON и обратно прямо в браузере. Понимает кавычки, переносы строк и любой разделитель, показывает предпросмотр таблицы.

Выгрузка из CRM пришла в CSV, а сервису на входе нужен JSON. Или наоборот: партнёр прислал ответ API, а вам надо открыть его таблицей и посмотреть, что там за поля. Обычно в этот момент зовут разработчика или мучают Excel, который на точке с запятой и кавычках рассыпает строки по столбцам.

Поле выше переводит одно в другое. Данные не загружаются на сервер, разбор идёт прямо у вас в браузере.

Когда это выручает

  • Ответ API надо посмотреть глазами.
  • Выгрузка из CRM или 1С с точкой с запятой открывается в таблице криво.
  • Сервис импорта принимает только массив JSON, а у вас на руках обычная таблица.
  • Надо быстро понять структуру чужого файла: какие в нём вообще колонки.

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

Отметьте согласие над формой, иначе поле остаётся неактивным, выберите направление, CSV → JSON или JSON → CSV, и вставьте данные. Результат появляется сразу.

Разделитель определяется автоматически. Можно задать его руками: запятая, точка с запятой, таб или вертикальная черта. Галочка про заголовок в первой строке включена сразу. Под результатом показывается предпросмотр на двадцать строк с подписью, сколько строк всего, а забрать готовое можно кнопкой «Скопировать» или сохранить файлом через «Скачать».

Пример: запятая и кавычки внутри поля

Вставили три строки:

  • id,name,city
  • 1,"Иванов, Иван",Москва
  • 2,"ООО ""Ромашка""",Казань

На выходе массив из двух объектов. Запятая внутри кавычек осталась частью имени, удвоенные кавычки свернулись в одну. У первого объекта в поле name лежит Иванов, Иван, у второго ООО «Ромашка». Ключи взяты из первой строки.

А вот чего в примере нет, так это чисел. Конвертер не угадывает типы и оставляет всё строками: 42 приедет как "42", true как "true". Если принимающая сторона ждёт настоящие числа, типы приводят уже на её стороне.

Что делать с результатом

При переводе в JSON получается массив объектов, где ключи взяты из первой строки. Снимете галочку, и на выходе будет массив массивов: удобно, когда шапки в файле нет.

Обратно работает похоже, но с одним условием: в корне JSON должен лежать массив. Заголовок таблицы собирается из всех ключей, которые встретились хотя бы раз, так что поле из одного объекта даст колонку и во всех остальных строках, а лишние клетки останутся пустыми. Вложенный объект запишется в ячейку строкой JSON, потому что плоская таблица дерево не хранит.

Чаще всего конвертация это середина пути, а не конец. Выгрузили заказы из CRM, привели к JSON, залили в сервис рассылок или в личный кабинет партнёра. Получили прайс поставщика в JSON, развернули в таблицу, проверили остатки глазами, отдали менеджеру. Пока такое случается раз в квартал, ручной прогон через поле выше дешевле любой разработки. Когда это повторяется каждый понедельник, дешевле уже настроить обмен и забыть про ручные шаги.

Кодировка и Excel

Скачанный файл отдаётся в UTF-8 без BOM. Для сервисов, скриптов и Google Таблиц это правильный вариант. А вот Excel на Windows такой файл двойным кликом открывает неверно: русские буквы превращаются в кракозябры.

Лечится в два шага. В Excel идите через «Данные», «Получить данные», «Из текстового/CSV-файла» и в окне импорта выберите кодировку UTF-8. Либо откройте файл в Google Таблицах или LibreOffice, там UTF-8 подхватывается сам. Если кракозябры приехали к вам уже в чужом файле, их разбирает декодер кракозябр.

Строки в скачанном CSV разделяются парой CR и LF, как требует стандарт. Старые парсеры на этом не спотыкаются.

Сколько строк он потянет

Пятьдесят тысяч строк разбираются примерно за треть секунды, сто тысяч примерно за полсекунды. Но разбор тут не главное. JSON на сто тысяч строк весит больше десяти мегабайт, и вывести такую простыню в поле результата браузеру тяжелее, чем её собрать.

Практическая граница получается такая. До нескольких десятков тысяч строк работа идёт без пауз. Дальше поле результата начинает подтормаживать, а вкладка ест память. Файл крупнее лучше порезать на части или поставить конвертацию на поток силами разработчика.

Данные не уходят с вашего компьютера

В выгрузке из CRM лежат имена, телефоны и суммы сделок. Нести такой файл на случайный конвертер не стоит: вы не знаете, кто его хранит и сколько.

Здесь нести некуда. Разбор написан на JavaScript и работает во вкладке. Текст не уходит на сервер, не пишется в логи и пропадает вместе со вкладкой. Согласие над формой спрашивают один раз за визит и нигде не запоминают.

О чём помнить

  • Автоопределение смотрит только первую строку и берёт символ, который встречается в ней чаще других. Если шапка набита запятыми внутри кавычек, выбор собьётся: задайте разделитель вручную.
  • Автоопределение работает только в сторону CSV → JSON. В обратную сторону оно молча ставит запятую, так что для точки с запятой выберите разделитель руками.
  • Галочка «Первая строка — заголовок» видна только в режиме CSV → JSON. В обратную сторону шапка всегда собирается из ключей объектов.
  • Одинаковые имена колонок схлопываются. Из шапки вида id,id в объекте останется одно поле, и победит правое значение.
  • Пустая ячейка в шапке превращается в ключ по номеру столбца: column_2, column_5.
  • Строки с разным числом столбцов разбор не ломают: чего не хватает, станет пустым значением, лишнее не попадёт в результат.
  • Кавычки внутри поля пишутся удвоением (""), а переносы строк внутри кавычек сохраняются как есть.
  • Ошибка в данных даст понятное сообщение, а не пустой экран. Самое частое: в корне JSON лежит не массив, а объект.

Вставьте свою выгрузку и посмотрите на предпросмотр: он сразу покажет, ту ли структуру вы получили.

Частые вопросы

Данные загружаются на сервер для конвертации?

Нет. Разбор CSV и JSON и обратная сборка написаны на JavaScript и выполняются локально в браузере. Текст из поля не уходит на сервер и нигде не сохраняется, поэтому выгрузку с именами, телефонами и суммами сделок можно вставлять спокойно.

Что если в CSV разные строки содержат разное число столбцов?

Разбор это не ломает. Недостающие значения станут пустыми строками, лишние колонки за пределами шапки просто не попадут в результат. Сообщения об ошибке не будет, поэтому число колонок лучше проверить по предпросмотру.

Как определяется разделитель в режиме «автоопределение»?

Инструмент смотрит только первую строку и берёт символ, который встречается в ней чаще других: запятую, точку с запятой, таб или вертикальную черту. В сторону JSON → CSV автоопределению работать не по чему, там оно молча ставит запятую. Нужна точка с запятой, выберите её руками.

Почему инструмент требует массив в корне JSON?

Таблица это список строк, поэтому на входе нужен именно список. Ответы API часто завёрнуты в объект вида data со списком внутри, и такой JSON инструмент не примет. Скопируйте в поле содержимое нужного ключа вместе с квадратными скобками, и конвертация пойдёт.

Почему Excel открывает скачанный CSV кракозябрами?

Файл отдаётся в UTF-8 без метки BOM, а Excel на Windows по двойному клику считает такой файл однобайтовым. Откройте его через «Данные», «Получить данные», «Из текстового/CSV-файла» и выберите кодировку UTF-8. В Google Таблицах и LibreOffice файл откроется правильно сразу.

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

В CSV типов нет, там всё текст, и конвертер их не угадывает: 42 станет "42", а true станет "true". Это сделано намеренно, иначе артикулы с ведущими нулями и длинные телефоны поехали бы. Типы приводит принимающая сторона.

Похожие инструменты

Внедрения

Статьи по теме