Перейти к содержанию

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

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

Двусторонняя конвертация между CSV/TSV и JSON с автоопределением разделителя, маппингом заголовков, обрезкой пробелов и пропуском пустых строк. Полезно для импорта/экспорта данных, обработки таблиц и подготовки API-payload.

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

🚀 Быстрый старт

  • Вставьте или введите данные CSV/TSV в редакторе CSV справа, и JSON слева будет автоматически синхронизирован.
  • Вы также можете ввести JSON в редакторе JSON слева, и CSV справа также будет автоматически синхронизирован.
  • По умолчанию для разделителя установлено значение «Авто». Инструмент проверяет первую строку и обнаруживает запятую, табуляцию, точку с запятой или вертикальную черту (|).
  • При включении «Использовать строку заголовка» первая строка CSV используется как имена ключей объекта JSON; при отключении результат преобразуется в двумерный массив.
  • Используйте «Обрезать поля» и «Пропускать пустые строки», чтобы очистить беспорядочные данные CSV.
  • Каждый редактор можно загрузить отдельно: сторона JSON загружает файл .json, а сторона CSV загружает файл .csv или .tsv на основе текущего разделителя.

📌 Частые сценарии

  • Excel в JSON: скопируйте ячейки, разделенные табуляцией, из Excel в панель CSV и мгновенно преобразуйте их в массив объектов JSON.
  • Ответ API в электронную таблицу: преобразуйте ответы JSON в CSV для анализа в Excel или Google Sheets.
  • Подготовка к импорту базы данных: конвертируйте наборы данных CSV в JSON для пакетного импорта API.
  • Анализ журналов: конвертируйте журналы CSV в JSON для структурированных запросов с помощью таких инструментов, как jq.
  • Миграция конфигурации: переключение между таблицами сопоставления CSV и файлами конфигурации JSON.
  • Очистка данных: быстрая очистка экспортированных данных с обрезкой полей и пропуском пустых строк.

🧭 Рекомендации по использованию

  • Данные, вставленные из Excel, обычно разделены табуляцией и распознаются правильно. Если обнаружение неверно, выберите разделитель вручную.
  • Если включена опция «Использовать строку заголовка», первая строка считается именами столбцов, а не данными. Если в CSV нет заголовка, отключите эту опцию, чтобы не потерять первую строку данных.
  • Если существуют повторяющиеся имена заголовков, автоматически добавляются суффиксы (например, имя, имя_2), чтобы сохранить уникальность ключей JSON.
  • JSON → CSV лучше всего работает с массивами плоских объектов. Вложенные объекты/массивы сериализуются как строки JSON в ячейках.
  • Поля, содержащие разделители, символы новой строки или двойные кавычки, автоматически заключаются в кавычки и экранируются в соответствии с правилами CSV.

⚠️ Ограничения и совместимость

  • CSV — это плоский табличный формат, который не может естественным образом представлять вложенные структуры. Вложенные объекты/массивы JSON сериализуются как строки и не могут быть полностью восстановлены при обратном преобразовании.
  • CSV хранит значения в виде текста. После прохождения JSON → CSV → JSON числа и логические значения могут вернуться в виде строк.
  • Спецификация UTF-8 (\uFEFF) удаляется автоматически. Другие кодировки (например, GBK или Shift-JIS) не поддерживаются; сначала конвертируйте в UTF-8.
  • Как и JSON в JavaScript, этот инструмент соответствует ограничениям IEEE 754. Целые числа за пределами безопасного 53-битного диапазона могут потерять точность.

🔒 Конфиденциальность и безопасность

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

❓ Частые вопросы

Что такое CSV и как он связан с TSV и Excel?

CSV (значения, разделенные запятыми) — это текстовый формат таблицы, в котором каждая строка представляет собой запись, а поля разделены запятыми. TSV — это вариант с разделителями табуляции. Excel может открывать и экспортировать оба формата, но .xlsx сам по себе является двоичным форматом книги. Этот инструмент работает с обычными текстовыми файлами CSV/TSV, а не с файлами .xlsx. Исторически сложилось так, что у CSV не было единого строгого стандарта. В 2005 году RFC 4180 определил общие правила: поля разделяются запятыми, поля со специальными символами заключаются в двойные кавычки, а кавычки внутри полей в кавычках экранируются двумя двойными кавычками. Различные приложения по-прежнему реализуют CSV с небольшими различиями, поэтому проблемы с импортом/экспортом являются общими.

Как работает автоматическое определение разделителя? Может ли это быть неправильно?

Инструмент анализирует первую строку CSV, считает запятые, табуляции, точки с запятой и вертикальные черты (|) вне кавычек и выбирает наиболее частый символ как разделитель. Для большинства корректных CSV/TSV это работает точно. Ошибка возможна, если в данных только один столбец (разделитель не встречается) или если значения полей содержат много символов-разделителей. В таких случаях выберите разделитель вручную.

Что меняется, когда параметр «Использовать строку заголовка» включен или выключен?

Если опция включена, первая строка CSV трактуется как имена столбцов, а каждая запись преобразуется в JSON-объект с этими именами в качестве ключей (например, {"name": "Alice", "age": "30"}). Если опция выключена, все строки, включая первую, считаются данными и преобразуются в двумерный массив (например, [["name", "age"], ["Alice", "30"]]). В направлении JSON → CSV включенный заголовок выводит ключи объекта в первой строке CSV.

Мой JSON содержит вложенные объекты. Могу ли я конвертировать обратно без потерь после CSV?

Не полностью. Во время JSON → CSV вложенные объекты/массивы сериализуются с помощью JSON.stringify в текст ячейки. При использовании CSV → JSON эти значения остаются строками и не преобразуются автоматически обратно в объекты. Если вам нужна структурная точность, сгладьте JSON перед преобразованием.

Могу ли я преобразовать данные, скопированные из Excel напрямую?

Да. Когда вы копируете диапазон ячеек из Excel и вставляете его в редактор CSV, данные обычно разделяются табуляцией. Автоматическое определение идентифицирует его как TSV и правильно преобразует. Если вы хотите загрузить файл .csv с разделителями-запятыми, перед загрузкой измените разделитель на запятую.

Как обрабатываются кавычки и разрывы строк в полях CSV?

Согласно RFC 4180: если поле содержит разделитель, перевод строки или двойную кавычку, всё поле заключается в двойные кавычки; кавычки внутри поля экранируются двумя последовательными двойными кавычками (""). Это правило применяется и при разборе входных данных, и при формировании результата. Если кавычка не закрыта, появится ошибка «Кавычка CSV не закрыта».