Бесплатный конвертер

Конвертер CSV в JSON

Мгновенно преобразуйте CSV-данные или файлы в формат JSON в вашем браузере. Поддерживает настраиваемые разделители, обнаружение заголовков и красивое форматирование.

Выберите CSV файл

или перетащите его сюда

Или

Об этом инструменте

CSV (значения, разделенные запятыми) и JSON (нотация объектов JavaScript) являются повсеместными форматами обмена данными, но они описывают данные по-разному. CSV является плоским и табличным: строка заголовка определяет имена полей, а каждая последующая строка содержит значения одной записи. JSON является иерархическим: данные структурированы в виде объектов (пар ключ-значение) и массивов, поддерживающих вложенность и более сложные типы. Преобразование CSV в JSON обычно означает преобразование каждой строки CSV в объект JSON, ключи которого берутся из строки заголовка, а значения — это ячейки строки.

Этот конвертер анализирует CSV с помощью PapaParse, самой надежной библиотеки CSV в экосистеме JavaScript. PapaParse справляется с особенностями, которые делают CSV обманчиво сложным: поля в кавычках, содержащие запятые, экранированные кавычки внутри полей в кавычках, смешанные окончания строк, необязательные маркеры спецификации и поля, содержащие символы новой строки. Вывод имеет структуру JSON, отформатированную по умолчанию с отступом в два пробела для удобства чтения.

Поддерживаются два формата вывода. Массив объектов (по умолчанию) создает [{header1: value1, header2: value2}, ...], наиболее распространенную форму JSON для табличных данных. Массив массивов создает [[заголовок1, заголовок2], [значение1, значение2], ...], сохраняя порядок столбцов без использования имен заголовков в качестве ключей.

Зачем конвертировать CSV в JSON

Большинство современных API и приложений поддерживают JSON. Загрузка данных из экспорта CSV — отчета о продажах, списка контактов, извлечения базы данных — в приложение JavaScript, REST API или базу данных NoSQL обычно требует сначала обработки JSON. Преобразование также является первым шагом для многих преобразований данных, поскольку JSON легче обрабатывать программно, чем CSV.

Структура JSON также открывает возможности, которые не может представить CSV. Объекты с вложенными свойствами, массивы различной длины на запись и явная информация о типе (строки, числа или логические значения) — все они становятся доступными, как только данные переходят в формат JSON. Альтернативы CSV, такие как TSV, существуют, но имеют то же ограничение плоскостности.

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

Вставьте или загрузите свой CSV, получите JSON.

  1. Добавьте свой CSV: Вставьте текст CSV в область ввода или перетащите файл .csv. PapaParse автоматически определяет разделители; запятая используется чаще всего, но табуляция, точка с запятой и вертикальная черта также подходят.
  2. Выберите выходной формат: Массив объектов использует заголовки в качестве ключей и создает наиболее распространенную форму JSON. Массив массивов сохраняет необработанную структуру строк. Выбирайте, основываясь на ожиданиях вашего последующего потребителя.
  3. Конвертировать: PapaParse обрабатывает CSV в браузере, обрабатывая поля в кавычках, экранированные кавычки и крайние случаи. Выходной JSON генерируется с правильным экранированием для строк, содержащих специальные символы.
  4. Скачать или скопировать: Сохраните как .json или скопируйте в буфер обмена. Вывод является действительным JSON, который может быть использован любым анализатором JSON.

Общие случаи использования

Технические детали

PapaParse реализует RFC 4180 (спецификация CSV) плюс расширения для вариантов, содержащихся в реальных файлах CSV. Поля в кавычках могут включать запятые, символы новой строки и символы кавычек (экранируются путем удвоения). Заголовки, если они присутствуют, обнаруживаются из первой строки. Числовые и логические значения можно вводить автоматически (преобразовывать в фактические числа или логические значения, а не в строки) или сохранять в виде строк.

Выходной JSON генерируется с использованием JSON.stringify с необязательным отступом. Для синтаксиса JSON строки экранируются (обратная косая черта, кавычки, управляющие символы), а структуры используют запрошенный формат (массив объектов или массив массивов).

Обрабатываемые крайние случаи: спецификация в начале файла, смешанные окончания строк (\n или \r\n), пустые ячейки (отображаемые как пустые строки или нулевые значения в зависимости от настроек), завершающие символы новой строки и строки с различным количеством полей. Надежность PapaParse делает его стандартной библиотекой JavaScript CSV.

Лучшие практики

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

Изменяет ли преобразование CSV в JSON содержимое?
Содержимое сохраняется максимально точно. Однако некоторые функции, специфичные для формата, могут не иметь прямых эквивалентов, поэтому могут возникнуть незначительные различия в форматировании.
Зачем конвертировать данные в формат JSON?
JSON — это стандартный формат данных для веб-API и приложений JavaScript. Он удобен для чтения человеком, широко поддерживается языками программирования и имеет более простой синтаксис, чем XML.
Обрабатывает ли конвертер вложенные или сложные структуры CSV?
Да. Инструмент правильно анализирует вложенные объекты, массивы и все стандартные типы данных CSV, сохраняя полную структуру данных в выходном формате JSON.
Является ли это преобразование безопасным и конфиденциальным?
Да. Вся обработка происходит локально в вашем браузере. Ваши данные никогда не покидают ваше устройство — ни загрузка на сервер, ни обработка в облаке, ни сбор данных.
Загружены ли мои данные на сервер?
Нет. PapaParse работает в вашем браузере; преобразование происходит полностью на вашем устройстве.
Могу ли я преобразовать JSON обратно в CSV?
Да — используйте инструмент JSON to CSV, который инвертирует процесс.
Каков максимальный размер ввода?
До 50 МБ. Файлы большего размера могут замедляться из-за ограничений памяти браузера; для преобразований в промышленном масштабе более надежен подход на стороне сервера или на основе сценариев.
Почему мой CSV с многострочными полями в кавычках странно преобразуется?
PapaParse обрабатывает многострочные поля, если они заключены в правильные кавычки. Если результат неправильный, убедитесь, что поля в кавычках заключены в двойные кавычки и что внутренние кавычки экранируются удвоением ("").