Extensible Markup Language (XML) и JavaScript Object Notation (JSON) - два известных формата данных для хранения данных. И JSON, и XML позволяют нам хранить данные таким образом, чтобы их могли читать как люди, так и машины. Начнем с того, что JSON - это тип структуры данных, который в основном используется для обмена данными между серверами и программными приложениями. Он хранит данные в виде пар ключ-значение. JSON создает объект данных, в котором пары ключ-значение разделяются двоеточием (:), а одна полная пара ключ-значение разделяется другими на основе запятой.
Кроме того, XML - это язык разметки типа HTML, который также используется для хранения данных. Но XML не предоставляет никаких предопределенных тегов. Мы можем создавать свои собственные теги и хранить данные. Как мы уже говорили, как JSON, так и XML используются для обмена данными между серверами и программными приложениями. Однако два формата данных несколько различаются. JSON - это формат хранения данных объектного типа, тогда как XML не имеет типа. Файлы XML хранят данные только в строковом формате и тяжелее, чем файл JSON. В то время как файлы JSON могут хранить строку, массивы, числа с плавающей запятой и логические значения.
В этой статье объясняется преобразование XML в JSON с использованием Python. Модуль Python xmltodict используется для преобразования XML в формат JSON.
Установка модуля xmltodict
Перед тем, как начать преобразование XML в JSON, нам необходимо установить модуль xmltodict. Модуль xmltodict можно установить с помощью пакета индекса Python (pip), и его можно установить в Python 2 и 3. В случае pip2 выполните следующую команду, чтобы установить модуль xmltodict:
pip install xmltodictЕсли вы используете pip3, выполните следующую команду, чтобы установить модуль xmltodict:
pip3 установить xmltodict
В случае системы на основе Debian выполните следующую команду для установки модуля xmltodict:
sudo apt установить python-xmltodictПриведенная выше команда подходит для Python2. В случае версии Python3 выполните следующую команду:
sudo apt установить python3-xmltodict
Преобразование XML в JSON
Теперь давайте конвертируем данные XML в формат JSON. Мы будем использовать модуль xmltodict и JSON для этого преобразования. JSON - это встроенный модуль Python. Таким образом отпадает необходимость в их установке. Xmltodict.Функция parse () преобразует данные XML в словарь Python. Затем json.Функция dumps () принимает преобразованный объект словаря в качестве аргумента и далее преобразует его в формат JSON. Итак, это двухэтапный процесс:
Сначала нам нужно преобразовать XML в объект словаря Python с помощью xmltodict.функция parse ().
Во-вторых, мы конвертируем объект словаря Python в формат JSON с помощью json.функция dumps (). В json.dumps (), свойство indent используется для добавления пробелов между данными.
# импорт модулейимпортировать xmltodict
импортировать json
# объявление xml
my_xml = "" "
"" "
#coverting XML в словарь Python
dict_data = xmltodict.анализировать (my_xml)
#coverting to json
json_data = json.дампы (dict_data, indent = 2)
печать (json_data)
Выход
Выходные данные показывают, что XML успешно преобразован в формат JSON.
Преобразование файла XML в файл JSON
Данные файлов XML можно преобразовать и сохранить в файл JSON. Давайте откроем файл XML, преобразуем данные XML в JSON и сохраним их в файле JSON.
Ниже приведен файл XML.
# импорт модулей
импортировать json
импортировать xmltodict
# открытие xml файла
с открытыми ("отелями.xml "," r ") как xmlfileObj:
# преобразование XML-данных в словарь
data_dict = xmltodict.синтаксический анализ (xmlfileObj.читать())
xmlfileObj.Закрыть()
# создание объекта JSON с использованием объекта словаря
jsonObj = json.дампы (data_dict)
# сохранение данных json в файл json
с открытыми ("гостиницами.json "," w ") как jsonfileObj:
jsonfileObj.написать (jsonObj)
jsonfileObj.Закрыть()
Выход
Интерпретатор Python не показывает ошибок; это означает, что данные JSON успешно сохранены в .json файл.
Заключение
XML и JSON - два популярных формата данных для хранения данных. Данные XML можно преобразовать в формат JSON с помощью модуля xmltodict и JSON. В этой статье объясняется преобразование данных XML в JSON с примерами.