Питхон КСМЛ у ЈСОН

Python Xml Json



Ектенсибле Маркуп Лангуаге (КСМЛ) и ЈаваСцрипт Објецт Нотатион (ЈСОН) су два позната формата података за складиштење података. И ЈСОН и КСМЛ нам омогућавају да податке складиштимо на начин који је читљив како за људе тако и за машине. За почетак, ЈСОН је врста структуре података која се углавном користи за размену података између сервера и софтверских апликација. Похрањује податке као парове кључ / вредност. ЈСОН чини објекат података где су парови кључ-вредност раздвојени на основу двотачке (:), и један комплетан пар кључ-вредност одвојен другима на основу зареза.







Штавише, КСМЛ је језик за означавање типа ХТМЛ који се такође користи за складиштење података. Али, КСМЛ не пружа никакве врсте унапред дефинисаних ознака. Можемо креирати сопствене ознаке и складиштити податке. Као што смо расправљали, и ЈСОН и КСМЛ се користе за размену података између сервера и софтверских апликација. Међутим, два формата података се донекле разликују. ЈСОН је формат за складиштење података типа објекта, док КСМЛ нема тип. КСМЛ датотеке чувају податке само у стринг формату и теже од ЈСОН датотеке. Док ЈСОН датотеке могу да складиште низ, низове, бројеве у покретним зарезима и логичке вредности.



Овај чланак објашњава конверзију КСМЛ у ЈСОН помоћу Питхона. Питхон кмлтодицт модул се користи за претварање КСМЛ -а у ЈСОН формат.



Инсталација модула кмлтодицт

Пре него што почнемо да конвертујемо КСМЛ у ЈСОН, морамо да инсталирамо модул кмлтодицт. Модул кмлтодицт се може инсталирати помоћу пакета питхон индек (пип), а може се инсталирати у Питхон 2 и 3. У случају пип2, извршите следећу команду да бисте инсталирали модул кмлтодицт:





пип инсталл кмлтодицт

Ако користите пип3, покрените следећу команду да бисте инсталирали модул кмлтодицт:

пип3 инсталл кмлтодицт



У случају система заснованог на Дебиану, покрените следећу команду да бисте инсталирали модул кмлтодицт:

судо апт инсталл питхон-кмлтодицт

Горе наведена команда је погодна за Питхон2. У случају верзије Питхон3, покрените следећу команду:

судо апт инсталл питхон3-кмлтодицт

Претварање КСМЛ у ЈСОН

Сада претворимо КСМЛ податке у ЈСОН формат. За ову конверзију користићемо модул кмлтодицт и ЈСОН. Јсон је уграђени Питхон модул. Стога је елиминисана потреба за њиховом инсталацијом. Функција кмлтодицт.парсе () претвара КСМЛ податке у речник Питхон. Затим, функција јсон.думпс () узима претворени објект речника као аргумент и даље га конвертује у ЈСОН формат. Дакле, ово је процес у два корака:

Прво морамо претворити КСМЛ у објект Питхон речника помоћу функције кмлтодицт.парсе ().

Друго, конвертујемо објекат речника Питхон у ЈСОН формат помоћу функције јсон.думпс (). У функцији јсон.думпс () својство индент се користи за додавање размака између података.

#увоз модула
увозкмлтодицт
увозјсон
#декларисање кмл -а
ми_кмл= '' '


1
Вртови Мараис
3
Интернет
Истина


2
Мала палата Голден Тулип
4

Интернет
Теретана
Паркинг
Ресторан

Нетачно


'' '

#цоверинг кмл у речник Питхон
дицт_дата=кмлтодицт.рашчланити(ми_кмл)
#покривање за јсон
јсон_дата=јсон.депоније(дицт_дата,увлачење=2)
принт(јсон_дата)

Оутпут

Резултат показује да је КСМЛ успјешно претворен у ЈСОН формат.

Претварање КСМЛ датотеке у ЈСОН датотеку

Подаци КСМЛ датотека могу се конвертовати и сачувати у ЈСОН датотеци. Отворимо КСМЛ датотеку, претворимо КСМЛ податке у ЈСОН и сачувамо их у ЈСОН датотеци.

Следи КСМЛ датотека.

#увоз модула
увозјсон
увозкмлтодицт
# отварање кмл датотеке
са отворен('хотелс.кмл','р') каокмлфилеОбј:
#конвертовање кмл података у речник
дата_дицт=кмлтодицт.рашчланити(кмлфилеОбј.читати())
кмлфилеОбј.Близу()
#креирање ЈСОН објекта помоћу објекта речника
јсонОбј=јсон.депоније(дата_дицт)

#меморисање јсон података у јсон датотеку
са отворен('хотелс.јсон', 'ин') каојсонфилеОбј:
јсонфилеОбј.писати(јсонОбј)
јсонфилеОбј.Близу()

Оутпут

Питхон тумач не приказује грешке; то значи да су ЈСОН подаци успешно сачувани у .јсон датотеци.

Закључак

КСМЛ и ЈСОН су два популарна формата података за складиштење података. КСМЛ подаци се могу претворити у ЈСОН формат помоћу модула кмлтодицт и ЈСОН. Овај чланак објашњава примере конверзије података КСМЛ у ЈСОН.