Как преобразовать CSV в JSON с заголовками и отступами
Инструмент преобразует CSV-текст в JSON и позволяет настроить разделитель, обработку первой строки и отступы. Для таблицы с заголовками включите обработку заголовков и выберите символ, который действительно разделяет поля.
Перед преобразованием CSV
CSV удобно хранить как таблицу с разделителями, а JSON часто нужен приложениям, API и конфигурационным инструментам. Этот конвертер принимает CSV-текст и формирует JSON-представление, поэтому он подходит для быстрой проверки табличных данных перед дальнейшим использованием. Вводом служит именно текст, а не описание структуры файла.
Перед началом определите символ между полями и назначение первой строки. Для обычного CSV с запятыми можно сохранить настройку по умолчанию. Если значения разделены точками с запятой, выберите этот вариант отдельно. Обработка заголовков включена по умолчанию: первая строка тогда используется для имён полей. Отступы меняют оформление многострочного JSON и его читаемость, но не содержание значений.
Сначала полезно проверить исходную таблицу: понятны ли названия столбцов, одинаково ли устроены строки и нет ли лишних разделителей внутри текста. Такой предварительный просмотр помогает отличить ошибку настройки от особенности самого набора данных. Результат следует рассматривать как представление перед проверкой, а не как автоматическое исправление неоднородной таблицы.
Пошаговое преобразование
-
Подготовьте CSV как текст и вставьте его в поле ввода, сохранив исходные строки и разделители. Пустое поле или последовательность только из пробелов не преобразуется, поэтому начните с непустого содержимого. Если таблица получена из другого источника, просмотрите первую строку и несколько строк данных до запуска.
-
Выберите разделитель полей. Запятая установлена по умолчанию, а для формата с точкой с запятой выберите соответствующий символ. Настройка должна совпадать с фактическим знаком между соседними значениями, иначе строки могут разобрать не так, как ожидается.
-
Настройте заголовки. Оставьте обработку включенной, если первая строка содержит названия столбцов, например
name;email. Если первая строка является обычными данными, отключите эту настройку; тогда ей не присваивается особый статус и строки обрабатываются без названий полей. -
При необходимости измените отступы JSON. Значение по умолчанию равно 2. Больший отступ делает многострочный результат удобнее для чтения, тогда как меньший делает его компактнее. Этот параметр отвечает за форматирование представления, а не за сопоставление столбцов.
-
Запустите преобразование и просмотрите полученный результат. При успешном разборе появляется JSON-представление. Если разбор завершился исключением, успешного JSON-результата не будет. В таком случае проверьте разделитель, переносы строк и согласованность структуры, затем повторите действие после исправления исходного текста.
-
Сверьте несколько записей вручную перед передачей результата в другое приложение. Убедитесь, что заголовки относятся к нужным столбцам, значения не сместились, а строки необычной длины замечены отдельно. Такой контроль особенно важен, когда число полей в разных строках различается.
Проверка формы результата
При включенных заголовках строка с таким же числом полей, как у первой строки, представляется записью «ключ-значение». Текст заголовков и ячеек очищается от окружающих пробелов, поэтому случайный пробел после разделителя не становится частью имени поля или значения. Это удобно при просмотре результата, но не заменяет проверку исходного формата.
Строка с другим числом полей обрабатывается по отдельной схеме и сохраняется как набор значений строки, а не как запись, сопоставленная с заголовками. Поэтому в одном результате могут встретиться элементы разной формы. Проверьте такие строки отдельно и сопоставьте их с исходной таблицей, прежде чем использовать JSON в следующем процессе.
При отключенной обработке заголовков первая строка не получает имена ключей. Результат нужно читать как представление строк без назначения первой строке роли заголовка. Выбранный разделитель остаётся значимым при любом варианте настройки, поскольку он определяет границы полей.
Если преобразование завершилось неуспешно, показанное состояние нельзя считать готовым JSON. Сначала исправьте ввод или параметры разбора. Пустой ввод требует добавления содержимого, а ошибка разбора требует проверки структуры текста. Отступы помогают читать результат, но не устраняют неправильное количество полей и не меняют порядок исходных значений.
Практический пример
Редактор готовит текстовый список контактов с двумя столбцами для последующей передачи в приложение, которому требуется JSON.
Для списка контактов вставьте текст name;email, затем добавьте строку Anna;anna@example.test под ней, выберите точку с запятой, оставьте обработку заголовков включенной и запустите преобразование. Здесь две строки образуют заголовок и согласованную запись данных без использования специального обозначения переноса строки.
Для строки заголовков с двумя полями и строки данных с двумя значениями ожидается JSON-запись с двумя ключами. Если следующая строка содержит другое число полей, она ожидается как набор значений строки, а не как запись с ключами.
Ограничения
- Пустой или состоящий только из пробелов ввод не преобразуется, ошибка разбора не даёт JSON-результат, а строка с другим числом полей не становится обычной записью с ключами заголовков.
Частые ошибки
- Причина: выбрана запятая, хотя поля в исходном тексте разделены точками с запятой. Действие: выберите точку с запятой, запустите преобразование повторно и сравните несколько записей с исходной таблицей.
Частые вопросы
Как преобразовать CSV с заголовками в JSON?
Если первая строка содержит названия столбцов, включите обработку заголовков. Строки с совпадающим числом полей будут представлены записями с ключами из первой строки, а их окружающие пробелы будут убраны.
Что делать, если CSV использует точку с запятой?
Если между полями стоят точки с запятой, выберите этот разделитель вместо запятой по умолчанию. После запуска сравните несколько значений с исходным текстом, чтобы заметить возможное смещение столбцов.
Почему одна строка не стала объектом с ключами?
Если число полей в строке отличается от числа заголовков, строка сохраняется как набор значений, а не как запись с ключами. Проверьте её отдельно и сопоставьте с исходной таблицей перед импортом результата.