Разширяемият език за маркиране (XML) и JavaScript обектната нотация (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 index (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 () свойството отстъп се използва за добавяне на интервали между данните.
#импортиране на модулитевносxmltodict
вносjson
#деклариране на xml
my_xml= '' '
1
Градините на Маре
3
интернет
Вярно
2
Малък дворец „Златно лале“
4
интернет
фитнес
Паркинг
Ресторант
Фалшиво
'' '
#covering xml в речника на Python
dict_data=xmltodict.разбор(my_xml)
#корица към json
json_data=json.сметища(dict_data,отстъп=2)
печат(json_data)
Изход
Резултатът показва, че XML е успешно преобразуван във формат JSON.
Конвертиране на XML файл в JSON файл
Данните от XML файловете могат да бъдат конвертирани и записани в JSON файла. Нека отворим XML файла, преобразуваме XML данните в JSON и ги съхраняваме в JSON файл.
По -долу е XML файлът.
#импортиране на модулите
вносjson
вносxmltodict
# отваряне на xml файла
с отворен('hotels.xml','r') катоxmlfileObj:
#конвертиране на xml данни в речник
data_dict=xmltodict.разбор(xmlfileObj.Прочети())
xmlfileObj.близо()
#creating JSON обект с помощта на речников обект
jsonObj=json.сметища(data_dict)
#съхраняване на json данни в json файл
с отворен('hotels.json', 'в') катоjsonfileObj:
jsonfileObj.пиши(jsonObj)
jsonfileObj.близо()
Изход
Интерпретаторът на Python не показва никаква грешка; това означава, че JSON данните са успешно записани във .json файл.
Заключение
XML и JSON са два популярни формата за съхранение на данни. XML данните могат да бъдат преобразувани във формат JSON с помощта на модула xmltodict и JSON. Тази статия обяснява преобразуването на данни от XML в JSON с примери.