Convertir XML en JSON en Python
Dans ce tutoriel, nous examinerons la méthode pour convertir XML en JSON en Python. Le format JSON est plus simple à lire et à écrire que le format XML; son style compact et léger améliore également les performances du système, en particulier dans les API RESTful. Comme JSON est meilleur que XML à bien des égards, il est utilisé en remplacement de XML dans de nombreux domaines.
Maintenant, supposons que nous ayons des données enregistrées au format XML et que nous souhaitons les convertir au format JSON; nous pouvons convertir les données XML en JSON en Python en utilisant la méthode suivante.
Convertir XML en JSON en Python à l’aide du module xmltodict
En Python, nous avons la méthode json.dumps(obj)
qui prend les données comme argument obj
et les sérialise en tant que flux formaté JSON et renvoie les données formatées en sortie.
L’argument obj
peut être un dictionnaire, une chaîne, une liste ou un tuple, etc., la méthode json.dumps()
convertit obj
selon son type de données. Comme si nous avons besoin d’un objet JSON, nous devrons fournir l’entrée sous forme de dictionnaire, car la méthode json.dumps()
convertit le dictionnaire en objet JSON. Le type de liste ou de tuple est converti en tableau JSON et le type de chaîne en chaîne JSON.
Nous pouvons utiliser la méthode xmltodict.parse()
pour convertir les données XML en données de type dictionnaire Python. La méthode xmltodict.parse()
prend les données au format XML sous forme de chaîne, analyse les données et renvoie la sortie sous forme de dictionnaire.
Après avoir converti les données dans un dictionnaire en utilisant la méthode xmltodict.parse()
, nous pouvons utiliser la méthode json.dumps()
pour convertir les données en objet JSON.
L’exemple de code ci-dessous montre comment convertir les données XML en JSON en utilisant les méthodes json.dumps()
et 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)
Production:
{"note": {"date": "2021-03-07", "time": "15:23", "to": "Sara", "from": "Khan", "msg": "Let's meet this weekend!"}}
Article connexe - Python XML
- Convertir XML en CSV à l'aide de Python
- Imprimer joliment une sortie XML en Python
- Créer un analyseur XML en Python
- Convertir XML en dictionnaire en Python