От CSV к JSON

CSV, это формат данных, используемый в электронных таблицах и при экспорте из баз данных; JSON, формат, требуемый API, фронтендами на JavaScript и современными конфигурационными файлами. Этот конвертер принимает CSV-файл с заголовочной строкой и преобразует его в массив объектов JSON: каждый заголовок становится ключом, а каждая строка данных, отдельным объектом. Результат выводится в удобном формате с использованием неэкранированных символов Unicode и обычных слешей, поэтому его можно напрямую вставить в запрос Postman или в файл JavaScript.

Как CSV преобразуется в JSON

  1. 1

    Вставьте CSV-файл

    Он должен содержать как минимум одну строку заголовка и одну строку данных; в противном случае инструмент возвращает ошибку.

  2. 2

    Строка заголовка задаёт ключи

    Первая строка анализируется с помощью `str_getcsv`; названия столбцов после удаления пробелов становятся ключами JSON.

  3. 3

    Каждая строка данных превращается в объект.

    Значения выравниваются с заголовками по положению. Отсутствующие ячейки отображаются как пустые строки.

  4. 4

    Скопируйте красиво отформатированный JSON

    Отформатировано с использованием JSON_PRETTY_PRINT, JSON_UNESCAPED_UNICODE и JSON_UNESCAPED_SLASHES для чёткого отображения в любом редакторе.

Как преобразование обрабатывает типы данных и крайние случаи

CSV по своей сути является безтиповым: каждая ячейка представляет собой строку. JSON же использует конкретные типы данных. Конвертер действует с осторожностью и сохраняет все значения в виде JSON-строк, числа никогда не преобразуются автоматически в текст, а идентификаторы с нулевым префиксом не теряют своих начальных нулей.

Пример

Вводимый CSV-файл:

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

Выходной JSON:

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

Обратите внимание: age, это строка, а не число. Если вам необходимы числовые типы данных, выполните дополнительную обработку с использованием Number(row.age) в JavaScript или воспользуйтесь конвертером CSV в JSON, который предлагает более широкий выбор типов данных.

Крайние случаи

Ситуация Поведение
Пустая строка данных Молча пропускается; в результате не появляется пустого объекта.
Строка короче заголовка Отсутствующие поля выводятся как пустые строки.
Строка длиннее заголовка Лишние ячейки отбрасываются.
Повторяющиеся имена заголовков Более поздние ключи перезаписывают более ранние в итоговом объекте.
Заголовок с окружающими пробелами Обрезается перед использованием в качестве ключа.

Когда выбрать другой инструмент для преобразования CSV в JSON

Это простой конвертер с логичными значениями по умолчанию и без дополнительных параметров. Используйте конвертер CSV в JSON, когда нужно задать разделитель, отличный от запятой, отключить строку заголовка или переключаться между компактным и красиво отформатированным выводом.

Часто задаваемые вопросы

В этом простом конвертере, нет. Каждое значение выводится в виде JSON-строки, при этом идентификаторы (например, 00123) и десятичные значения (например, 1.50) сохраняются точно такими, какими они представлены. Для дополнительной обработки используйте Number() или parseFloat() на стороне получателя либо воспользуйтесь другим конвертером CSV в JSON для получения дополнительных параметров.

Для использования этого инструмента требуется наличие заголовков: он использует их названия в качестве ключей в формате JSON. Если в вашем файле нет заголовков, добавьте строку вида col1,col2,col3 в начало или перейдите к конвертеру CSV в JSON, который предоставляет опцию для отключения заголовков.

Символы Unicode остаются без экранирования (акценты, иероглифы CJK и эмодзи отображаются в результате буквально). Прямые слеши также не экранируются, поэтому URL-адреса выглядят естественно. Двойные кавычки внутри значений корректно экранируются как \".

Да. CSV-файл отправляется на наш сервер, чтобы сгенерировать JSON. Он не сохраняется и не добавляется в ссылку страницы.

Сопутствующие инструменты

Смешивание цветов

Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Генератор бейджей README

Создавайте бейджи shields.io для файлов README на GitHub: статус сборки, версия, лицензия, число загрузок и покрытие кода. Просмотрите и скопируйте фрагмент Markdown.

Конвертер из формата HEX в ASCII

Преобразует последовательности шестнадцатеричных байтов в текст в формате ASCII. Отлично подходит для отладки протоколов, обратного инженеринга и решений задач типа CTF.

Генератор случайных адресов

Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.

Инструмент доступен на других языках