Как конвертировать CSV в JSON

· 3 мин чтения

CSV (значения, разделённые запятыми) — это самый простой формат для табличных данных — каждая электронная таблица может его экспортировать. JSON (JavaScript Object Notation) — это стандартный формат для веб-API и современных приложений. Конвертация между двумя — одна из самых распространённых задач с данными в разработке.

Когда нужно конвертировать CSV в JSON

Как CSV становится JSON

CSV-файл:

name,age,city
Alice,30,New York
Bob,25,London

Становится JSON-массивом объектов:

[
  {"name": "Alice", "age": "30", "city": "New York"},
  {"name": "Bob", "age": "25", "city": "London"}
]

Первая строка (заголовки) становится ключами. Каждая последующая строка становится объектом.

Как конвертировать

  1. Вставьте ваши CSV-данные — введите данные, разделённые запятыми, со строкой заголовка.
  2. Выберите ваш разделитель — запятая, точка с запятой, табуляция или вертикальная черта. Инструмент автоматически определяет в большинстве случаев.
  3. Скопируйте или скачайте — просмотрите JSON-вывод и скопируйте его в буфер обмена или скачайте его как файл .json.

Обработка хитрых CSV

Значения в кавычках — когда значение содержит символ-разделитель (например, адрес с запятой), оно должно быть окружено двойными кавычками: "New York, NY". Хорошие конвертеры обрабатывают это правильно.

Пустые значения — пустые ячейки становятся пустыми строками в JSON ("field": ""). Если вы хотите null, вам придётся постобрабатывать вывод.

Числовые значения — у CSV нет типов. Всё — текст. JSON-вывод будет иметь числа в виде строк ("30", не 30). Если вашему приложению нужны настоящие числа, разберите их после конвертации.

Переводы строк в значениях — некоторые CSV содержат многострочные значения (заключённые в кавычки). Не все конвертеры обрабатывают их — тестируйте с вашими данными.

Советы

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

Что происходит со строкой заголовка?

Первая строка используется как ключи для JSON-объектов. Каждая последующая строка становится объектом с этими ключами. Например, заголовок «name,age» со строкой «Alice,30» становится {"name":"Alice","age":"30"}.

Какие разделители поддерживаются?

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

Обрабатывает ли он запятые внутри значений?

Да. Значения, окружённые двойными кавычками (например, «New York, NY»), обрабатываются правильно — запятая внутри кавычек считается частью значения, а не разделителем.

Отправляются ли мои данные на сервер?

Нет. Вся конвертация происходит в вашем браузере. Ваши данные никогда не покидают ваше устройство.