От 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. Он не сохраняется и не добавляется в ссылку страницы.

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

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Счетчик FPS

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

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

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

Генератор цветовой палитры

Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.

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