О ЈСОН-у
ЈСОН (ЈаваСцрипт Објецт Нотатион) је формат датотеке и стандард за складиштење података који користи парове кључ / вредност за чување и размену података. То је најчешће коришћени формат за размену података, који се често среће у РЕСТфул АПИ-има, лаганим базама података, конфигурационим датотекама и другом офлајн или мрежном софтверу који треба да складишти, преузима и размењује податке. Већина програмских језика подразумева библиотеке за рашчлањивање и писање ЈСОН података, а ЈСОН је агностички формат података програмског језика. Вредности ускладиштене у ЈСОН датотеци или корисном оптерећењу обично садрже низове, бројеве и серијске типове података попут листа (низова).
ЈСОН и Питхон речници
ЈСОН подаци у питхону се конвертују у објект речника помоћу методе „лоад“. Често се примећује да неки људи изједначавају јсон податке и питхон речник, јер је синтакса за дефинисање обојице приближно иста. Међутим, јсон подаци нису ништа друго до текстуални низ структуриран у крутој синтакси, док је питхон речник објекат структуре података ускладиштен у меморији. Ако податке речника желите да сачувате у текстуалној датотеци или да их пошаљете другом програму који није питхон, прво ћете их морати претворити у текстуални низ (бајтови). Овај избачени / претворени текстуални низ дефинисан је у ЈСОН-овој стандардној синтакси, а поступак претварања питхон речника у јсон компатибилни низ назива се сериализација.
Читање и избацивање ЈСОН података у Питхон-у
ЈСОН подаци се могу добити као одговор са сервера, читати из датотеке, исецати из параметара упита УРЛ-а и тако даље. Овај чланак ће се углавном фокусирати на читање јсон података из локално сачуване датотеке. Претпоставимо да је „тест.јсон ”датотека садржи следеће податке:
"цоденаме": "Еоан Ермине", "версион": "Убунту 19.10 "Да бисте прочитали тест.јсон датотеку у питхону, можете користити доњи код:
импорт јсонса отвореним („тест.јсон ") као ф:
дата = јсон.оптерећење (ф)
думп = јсон.депоније (подаци)
испис (подаци)
испис (врста (подаци))
испис (думп)
испис (врста (думп))
Прва линија у горњем коду увози јсон модул. У следећем реду, „витх опен“ се користи за сигурно читање садржаја датотеке. У оквиру блока „са отвореним“, „јсон.лоад “метода користи се за читање и чување садржаја датотеке у променљивој„ дата “. Подаци учитани у претходном кораку конвертују се назад у јсон низ помоћу „јсон.думп “метода. Покретање горњег кода приказаће следећи излаз:
'цоденаме': 'Еоан Ермине', 'версион': 'Убунту 19.10 '"цоденаме": "Еоан Ермине", "версион": "Убунту 19.10 "
У горњем излазу приметите да је „јсон.лоад “метода чита необрађене јсон податке у питхон речник док„ јсон.думпс ”методе претвара речник у низ који је компатибилан са ЈСОН структуром. Једном када се ЈСОН објекат претвори у објекат речника питхон, можете да користите уграђене методе речника питхон за руковање подацима. Горњи пример је прилично основни и не укључује низове у ЈСОН подацима или угнеждене вредности. Међутим, унутар питхона, можете да рукујете овим вредностима као и сви други угнежђени речници и листе.
Сортирање и прилично штампање ЈСОН података
„Јсон.думп ”метода подржава неке опционалне параметре за сортирање кључева и прилично штампање резултата за побољшану читљивост.
импорт јсонса отвореним („тест.јсон ") као ф:
дата = јсон.оптерећење (ф)
думп = јсон.одлагалишта (подаци, кључеви за сортирање = Тачно, увлака = 4)
испис (думп)
Горњи код ће показати следећи излаз:
"цоденаме": "Еоан хермелин",
"версион": "Убунту 19.10 "
Конверзије типа података
Списак испод илуструје како се ЈСОН вредности претварају у питхон објекте и обрнуто.
ЈСОН | Питхон |
низ | стр |
број | инт или флоат |
тачно нетачно | Тачно нетачно |
нула | Ниједан |
низ | листа |
објект | дицт |
Јсон.алатка Модул командне линије
Питхон укључује леп услужни програм командне линије „јсон.алат “који се може користити за валидацију и леп испис ЈСОН низова и датотека.
$ ецхо '"цоденаме": "Еоан Ермине", "версион": "Убунту 19.10 " '| питхон3 -м јсон.оруђеПокретање горње команде показаће вам следећи излаз:
"цоденаме": "Еоан хермелин",
"версион": "Убунту 19.10 "
Такође можете да користите јсон.алат са ЈСОН датотекама. Замените „ин_филе“ и „оут_филе“ у наредби испод са вашим жељеним вредностима:
$ питхон3 -м јсон.алат ин_филе оут_филеОсим лепог штампања, сортирања и валидације ЈСОН података, јсон.алат не ради ништа друго. Дакле, ако желите да манипулишете било којим ЈСОН подацима, морате да напишете сопствени прилагођени код помоћу уграђеног ЈСОН модула.