Convertir XML a JSON en Python
En este tutorial, veremos el método para convertir XML a JSON en Python. El formato JSON es más sencillo de leer y escribir que el formato XML; su estilo compacto y liviano también mejoran el rendimiento del sistema, especialmente en las API RESTful. Como JSON es mejor que XML en muchos aspectos, se utiliza como reemplazo de XML en muchos campos.
Ahora, suponga que tenemos datos guardados en formato XML y queremos convertirlos a formato JSON; podemos convertir los datos XML a JSON en Python usando el siguiente método.
Convierta XML a JSON en Python usando el módulo xmltodict
En Python, tenemos el método json.dumps(obj)
que toma datos como argumento obj
y los serializa como el flujo con formato JSON y devuelve los datos formateados como salida.
El argumento obj
puede ser un diccionario, cadena, lista o tupla, etc., el método json.dumps()
convierte el obj
de acuerdo con su tipo de datos. Como si necesitamos un objeto JSON, tendremos que proporcionar la entrada como un diccionario, ya que el método json.dumps()
convierte el diccionario al objeto JSON. El tipo de lista o tupla se convierte en un array JSON y el tipo de cadena en una cadena JSON.
Podemos usar el método xmltodict.parse()
para convertir los datos XML al tipo de datos del diccionario de Python. El método xmltodict.parse()
toma datos en formato XML como una cadena, analiza los datos y devuelve la salida como un diccionario.
Después de convertir los datos a un diccionario usando el método xmltodict.parse()
, podemos usar el método json.dumps()
para convertir los datos al objeto JSON.
El siguiente código de ejemplo demuestra cómo convertir los datos XML a JSON usando los métodos json.dumps()
y xmltodict.parse()
en Python.
import xmltodict
import json
dictionary = xmltodict.parse(
"""<note>
<date>2021-03-07</date>
<time>15:23</time>
<to>Sara</to>
<from>Khan</from>
<msg>Let's meet this weekend!</msg>
</note>"""
)
json_object = json.dumps(dictionary)
print(json_object)
Producción :
{"note": {"date": "2021-03-07", "time": "15:23", "to": "Sara", "from": "Khan", "msg": "Let's meet this weekend!"}}
Artículo relacionado - Python XML
- Convertir XML a CSV usando Python
- Impresión bonita de la salida XML en Python
- Crear un analizador XML en Python
- Convertir XML a diccionario en Python