CSV и JSON: два способа хранить одни и те же данные
Большинство табличных данных живёт в одном из двух форматов. CSV — родной язык таблиц: простой текстовый файл, где каждая строка — это запись, а запятые разделяют столбцы. JSON — язык API и приложений: структурированный текстовый формат, построенный из объектов (пар ключ — значение) и массивов (упорядоченных списков). Они описывают одну и ту же информацию совершенно разными способами — именно поэтому необходимость конвертации между ними возникает так часто. Эта страница выполняет конвертацию в обоих направлениях прямо в браузере.
CSV незаменим там, где сетка выглядит естественно. Выгрузите отчёт из базы данных, скачайте список заказов или сохраните лист из Excel или Google Sheets — почти всегда получите CSV. Он компактен, читаем человеком, и каждый аналитический инструмент на свете умеет его открывать. JSON незаменим там, где программа общается с программой. REST API отправляют и принимают его, конфигурационные файлы используют его, а JavaScript читает его без каких-либо библиотек разбора. Когда нужно передать выгрузку из таблицы в API или поместить ответ API обратно в таблицу, вы буквально переводите между двумя мирами.

Как строки и заголовки становятся объектами
Соответствие проще, чем кажется. Первая строка CSV-файла — обычно строка заголовков, и именно эти имена становятся ключами в JSON. Каждая следующая строка превращается в один объект, где каждая ячейка связана с соответствующим заголовком. Весь файл становится массивом таких объектов. Таким образом, CSV со столбцами name,email,age превращается в список вида [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]. В обратном направлении — JSON в CSV — конвертер читает ключи первого объекта для построения строки заголовка, затем записывает по одной строке на каждый объект. Это чистое и предсказуемое преобразование — пока ваши данные действительно табличные.
Подводные камни, о которых стоит знать
CSV выглядит тривиально, но скрывает несколько острых углов. Главный — запятые внутри поля. Если адрес содержит «Москва, Россия», наивное разбиение по запятым разрежет это единственное значение на два столбца. Стандарт CSV решает эту проблему, заключая такие поля в двойные кавычки, а кавычки внутри кавычек удваиваются (""). Хороший конвертер соблюдает эти правила, чтобы данные не смещались по столбцам. Обращайте внимание и на разделитель: многие европейские выгрузки используют точку с запятой вместо запятой, потому что запятая уже является десятичным разделителем. В качестве разделителей встречаются также табуляция и вертикальная черта.
Более глубокое различие — в типах данных. CSV вообще не имеет понятия типов: всё является текстом, поэтому число 42, булево true и пустая ячейка выглядят как обычные строки. JSON, напротив, различает числа, строки, булевы значения, null и вложенные структуры. При конвертации CSV в JSON значения приходят как строки, если только инструмент явно не настроен интерпретировать числа и булевы значения. При конвертации JSON в CSV возникает обратная проблема: вложенные объекты и массивы не вписываются в плоскую сетку, поэтому они обычно сглаживаются или представляются как единственная строка в одной ячейке. Знание этого заранее избавит вас от недоумения, почему столбец «выглядит не так».

Реальный сценарий конвертации
Вот ситуация, которая возникает постоянно. Коллега присылает таблицу новых пользователей и просит загрузить их через внутренний API. API принимает только JSON. Вы экспортируете лист в CSV, вставляете его сюда — и получаете чистый массив объектов, готовый к добавлению в тело запроса. Позже API возвращает JSON-список созданных записей, который нужно передать тому же коллеге для проверки. Вставляете JSON, конвертируете в CSV — и файл сразу открывается в его таблице. Без скриптов, без установок — два быстрых перевода в середине обычного рабочего процесса.
Только локально — по принципу
Всё это выполняется в браузере. Ваши CSV и JSON разбираются и конвертируются JavaScript на вашей машине — ничего не загружается на сервер. Это важно, потому что выгрузки часто содержат реальные имена, адреса электронной почты, детали заказов или внутренние идентификаторы, которые не стоит вставлять в случайный удалённый сервис. Здесь данные никогда не покидают страницу. Если нужно привести результат в порядок, наш форматировщик JSON красиво оформит и проверит его, а в остальных наших конвертерах данных найдутся инструменты для смежных форматов.
Часто задаваемые вопросы
Мои данные куда-то загружаются?
Нет. Конвертация выполняется полностью в браузере с использованием JavaScript — ваши CSV и JSON остаются на вашем устройстве и никогда не отправляются на сервер.
Справляется ли конвертер с запятыми внутри полей?
Да. Поля, содержащие запятые, должны быть заключены в двойные кавычки в CSV, и парсер соблюдает эти кавычки, сохраняя значение в одном столбце.
Почему мои числа отображаются как текст в JSON?
CSV не имеет типов данных, поэтому каждая ячейка — обычный текст. Значения становятся JSON-строками, если не применяется разбор чисел и булевых значений: исходный файл не даёт способа отличить число от слова.
Что происходит с вложенным JSON при конвертации в CSV?
Плоская сетка не может вмещать вложенные структуры, поэтому вложенные объекты и массивы обычно сглаживаются или записываются как одно строковое значение в отдельной ячейке.
Можно ли использовать точку с запятой или табуляцию вместо запятой?
Да. Многие выгрузки, особенно европейские, используют точку с запятой или табуляцию в качестве разделителей — инструмент умеет читать их вместо стандартной запятой.
Конвертация работает в обоих направлениях?
Да. Вы можете конвертировать CSV в JSON и JSON обратно в CSV — это делает переходы между таблицами и API простыми.
