Прошириви језик за означавање (КСМЛ) и ЈаваСцрипт Објецт Нотатион (ЈСОН) су два позната формата података за чување података. И ЈСОН и КСМЛ омогућавају нам да податке складиштимо на начин који је читљив како људима, тако и машинама. За почетак, ЈСОН је врста структуре података која се углавном користи за размену података између сервера и софтверских апликација. Подаци се чувају као парови кључ / вредност. ЈСОН прави објекат података где су парови кључ / вредност одвојени на основу двотачке (:), а један комплетни пар кључ / вредност одвојени другима на основу зареза.
Даље, КСМЛ је језик за означавање ХТМЛ типа који се такође користи за чување података. Али, КСМЛ не пружа никакве врсте унапред дефинисаних ознака. Можемо креирати сопствене ознаке и чувати податке. Као што смо разговарали, и ЈСОН и КСМЛ се користе за размену података између сервера и софтверских апликација. Међутим, два формата података се донекле разликују. ЈСОН је формат објекта за складиштење података типа објекта, док КСМЛ нема тип. КСМЛ датотеке складиште податке само у формату низа и теже од ЈСОН датотеке. Док ЈСОН датотеке могу да чувају низ, низове, бројеве са бројевима са помичном зарезом и логичке вредности.
Овај чланак објашњава КСМЛ у ЈСОН конверзију помоћу Питхона. Питхон кмлтодицт модул се користи за претварање КСМЛ у ЈСОН формат.
Инсталација кмлтодицт модула
Пре него што започнемо претварање КСМЛ-а у ЈСОН, морамо да инсталирамо кмлтодицт модул. Модул кмлтодицт може се инсталирати помоћу питхон индексног пакета (пип), а може се инсталирати у Питхон 2 и 3. У случају пип2, извршите следећу наредбу да бисте инсталирали модул кмлтодицт:
пип инсталл кмлтодицтАко користите пип3, покрените следећу команду да бисте инсталирали модул кмлтодицт:
пип3 инсталирај кмлтодицт
У случају система заснованог на Дебиану, покрените следећу наредбу да бисте инсталирали модул кмлтодицт:
судо апт инсталирати питхон-кмлтодицтГоре наведена команда је погодна за Питхон2. У случају верзије Питхон3, покрените следећу команду:
судо апт инсталирај питхон3-кмлтодицт
Конверзија КСМЛ у ЈСОН
Сада претворимо КСМЛ податке у ЈСОН формат. За ову конверзију користићемо кмлтодицт и ЈСОН модул. Јсон је уграђени Питхон модул. Стога се елиминише потреба за њиховом инсталацијом. Тхе кмлтодицт.функција парсе () претвара КСМЛ податке у Питхон речник. Затим, јсон.функција думпс () узима претворени објекат речника као аргумент и даље га претвара у ЈСОН формат. Дакле, ово је процес у два корака:
Прво морамо претворити КСМЛ у објекат речника Питхон помоћу кмлтодицт.функција парсе ().
Друго, претварамо објекат речника Питхон у ЈСОН формат користећи јсон.функција думпс (). У јсон-у.думпс () функција, својство увлачења користи се за додавање размака између података.
#увоз модулаимпорт кмлтодицт
импорт јсон
#децларинг кмл
ми_кмл = "" "
"" "
#цовертинг кмл у Питхон речник
дицт_дата = кмлтодицт.рашчлањивање (ми_кмл)
#цовертинг то јсон
јсон_дата = јсон.одлагалишта (дицт_дата, увлака = 2)
испис (јсон_дата)
Оутпут
Резултат показује да се КСМЛ успешно претвара у ЈСОН формат.
Конверзија КСМЛ датотеке у ЈСОН датотеку
Подаци о КСМЛ датотекама могу се претворити и сачувати у ЈСОН датотеку. Отворимо КСМЛ датотеку, претворимо КСМЛ податке у ЈСОН и спремимо их у ЈСОН датотеку.
Следи КСМЛ датотека.
#увоз модула
импорт јсон
импорт кмлтодицт
# отварање кмл датотеке
са отвореним („хотелима.кмл "," р ") као кмлфилеОбј:
#цонвертинг кмл дата то дицтионари
дата_дицт = кмлтодицт.парсе (кмлфилеОбј.читати())
кмлфилеОбј.Близу()
#креирање ЈСОН објекта помоћу речничког објекта
јсонОбј = јсон.депоније (дата_дицт)
#сторинг јсон података у јсон датотеку
са отвореним („хотелима.јсон "," в ") као јсонфилеОбј:
јсонфилеОбј.врите (јсонОбј)
јсонфилеОбј.Близу()
Оутпут
Питхон тумач не показује никакву грешку; то значи да су ЈСОН подаци успешно сачувани у .јсон датотеку.
Закључак
КСМЛ и ЈСОН су два популарна формата података за чување података. КСМЛ подаци се могу претворити у ЈСОН формат помоћу кмлтодицт и ЈСОН модула. Овај чланак објашњава претворбу података КСМЛ у ЈСОН са примерима.