Python XML do JSON

Python Xml Json



Extensible Markup Language (XML) i JavaScript Object Notation (JSON) to dwa znane formaty danych do przechowywania danych. Zarówno JSON, jak i XML pozwalają na przechowywanie danych w sposób czytelny zarówno dla człowieka, jak i maszyn. Po pierwsze, JSON to rodzaj struktury danych, który służy głównie do wymiany danych między serwerami i aplikacjami. Przechowuje dane jako pary klucz-wartość. JSON tworzy obiekt danych, w którym pary klucz-wartość są rozdzielone na podstawie dwukropka (:) i jedną kompletną parę klucz-wartość rozdzieloną innymi na podstawie przecinka.







Ponadto XML jest językiem znaczników typu HTML, który jest również używany do przechowywania danych. Ale XML nie zawiera żadnych predefiniowanych znaczników. Możemy tworzyć własne tagi i przechowywać dane. Jak wspomnieliśmy, zarówno JSON, jak i XML są używane do wymiany danych między serwerami i aplikacjami. Jednak te dwa formaty danych nieco się różnią. JSON jest formatem przechowywania danych typu obiektowego, podczas gdy XML nie ma typu. Pliki XML przechowują dane tylko w formacie ciągu i cięższe niż plik JSON. Podczas gdy pliki JSON mogą przechowywać ciągi, tablice, liczby zmiennoprzecinkowe i Boolean.



W tym artykule wyjaśniono konwersję XML na JSON przy użyciu języka Python. Moduł Python xmltodict służy do konwersji XML na format JSON.



Instalacja modułu xmltodict

Zanim zaczniemy konwertować XML do JSON, musimy zainstalować moduł xmltodict. Moduł xmltodict można zainstalować za pomocą pakietu indeksu Pythona (pip) i można go zainstalować w Pythonie 2 i 3. W przypadku pip2 wykonaj następujące polecenie, aby zainstalować moduł xmltodict:





pip zainstaluj xmltodict

Jeśli używasz pip3, uruchom następujące polecenie, aby zainstalować moduł xmltodict:

pip3 zainstaluj xmltodict



W przypadku systemu opartego na Debianie uruchom następujące polecenie, aby zainstalować moduł xmltodict:

sudo apt install python-xmltodict

Powyższe polecenie jest odpowiednie dla Python2. W przypadku wersji Python3 uruchom następujące polecenie:

sudo apt install python3-xmltodict

Konwersja XML do JSON

Teraz przekonwertujmy dane XML do formatu JSON. Do tej konwersji użyjemy modułów xmltodict i JSON. Json to wbudowany moduł Pythona. Dlatego wyeliminowana jest potrzeba ich instalacji. Funkcja xmltodict.parse() konwertuje dane XML na słownik Pythona. Następnie funkcja json.dumps() przyjmuje przekonwertowany obiekt słownika jako argument i dalej konwertuje go do formatu JSON. Jest to więc proces dwuetapowy:

Najpierw musimy przekonwertować XML na obiekt słownika Pythona za pomocą funkcji xmltodict.parse().

Po drugie, konwertujemy obiekt słownika Pythona do formatu JSON za pomocą funkcji json.dumps(). W funkcji json.dumps() właściwość indent służy do dodawania spacji między danymi.

#importowanie modułów
importxmltodykt
importjson
#deklarowanie xml
mój_xml= '' ''


1
Ogrody Marais
3
Internet
Prawdziwe


2
Złoty Tulipanowy Pałacyk
4

Internet
siłownia
Parking
Restauracja

Fałszywe


'' ''

#przekrywanie xml do słownika Pythona
dict_data=xmltodykt.analizować(mój_xml)
#przyjmowanie do json
json_data=json.depresja(dict_data,akapit=2)
wydrukować(json_data)

Wyjście

Dane wyjściowe pokazują, że kod XML został pomyślnie przekonwertowany na format JSON.

Konwersja pliku XML do pliku JSON

Dane plików XML można przekonwertować i zapisać w pliku JSON. Otwórzmy plik XML, przekonwertujmy dane XML na JSON i zapiszmy w pliku JSON.

Poniżej znajduje się plik XML.

#importowanie modułów
importjson
importxmltodykt
# otwieranie pliku xml
z otwarty(„hotele.xml”,'r') jakxmlfileObj:
#konwertowanie danych xml do słownika
data_dict=xmltodykt.analizować(xmlfileObj.czytać())
xmlfileObj.blisko()
#tworzenie obiektu JSON przy użyciu obiektu słownika
jsonObj=json.depresja(data_dict)

#przechowywanie danych json do pliku json
z otwarty(„hotele.json”, 'w') jakjsonfileObj:
jsonfileObj.pisać(jsonObj)
jsonfileObj.blisko()

Wyjście

Interpreter Pythona nie pokazuje żadnego błędu; oznacza to, że dane JSON zostały pomyślnie zapisane w pliku .json.

Wniosek

XML i JSON to dwa popularne formaty danych do przechowywania danych. Dane XML można przekonwertować na format JSON za pomocą modułu xmltodict i JSON. W tym artykule wyjaśniono konwersję danych XML na JSON z przykładami.