Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
23 Июн 2023
2 мин
1383

Как преобразовать XML в JSON в Python

Узнайте, как преобразовать XML в JSON в Python, используя два основных подхода: стороннюю библиотеку xmltodict и стандартные библиотеки Python.

Преобразование XML в JSON является распространенной задачей для разработчиков, работающих с данными, поскольку оба формата часто используются для передачи информации между системами. В этой статье мы рассмотрим два основных подхода к конвертации XML в JSON с использованием языка программирования Python.

Использование библиотеки xmltodict

Один из наиболее простых способов преобразования XML в JSON — использование сторонней библиотеки xmltodict. Эта библиотека сделает всю работу за нас, включая парсинг XML и преобразование его в Python-словарь, который затем можно легко преобразовать в JSON.

Установка xmltodict

Для начала установите библиотеку xmltodict, выполнив следующую команду:

pip install xmltodict

Пример кода

import json
import xmltodict

xml_data = """<?xml version="1.0" encoding="UTF-8"?>
<root>
  <item id="1">
    <name>Item 1</name>
    <price>100</price>
  </item>
  <item id="2">
    <name>Item 2</name>
    <price>200</price>
  </item>
</root>
"""

# Преобразование XML в словарь
dict_data = xmltodict.parse(xml_data)

# Преобразование словаря в JSON
json_data = json.dumps(dict_data)

print(json_data)

Использование стандартных библиотек Python

Если вы предпочитаете не использовать сторонние библиотеки, вы также можете преобразовать XML в JSON, используя стандартные библиотеки Python xml.etree.ElementTree и json.

Пример кода

import json
import xml.etree.ElementTree as ET

def xml_to_dict(element):
    result = {}
    for child in element:
        if len(child) > 0:
            value = xml_to_dict(child)
        else:
            value = child.text

        key = child.tag
        if key in result:
            if not isinstance(result[key], list):
                result[key] = [result[key]]
            result[key].append(value)
        else:
            result[key] = value

    return result

xml_data = """<?xml version="1.0" encoding="UTF-8"?>
<root>
  <item id="1">
    <name>Item 1</name>
    <price>100</price>
  </item>
  <item id="2">
    <name>Item 2</name>
    <price>200</price>
  </item>
</root>
"""

# Парсинг XML
root = ET.fromstring(xml_data)

# Преобразование XML в словарь
dict_data = xml_to_dict(root)

# Преобразование словаря в JSON
json_data = json.dumps(dict_data)

print(json_data)

В заключение, мы рассмотрели два подхода к преобразованию XML в JSON в Python: с использованием сторонней библиотеки xmltodict и стандартных библиотек xml.etree.ElementTree и json. Выбор метода зависит от ваших предпочтений и требований к проекту.

Добавить комментарий

Подарок
Забрать подарок