Питхон

Како читати и писати Јсон датотеке у Питхону

Како читати и писати Јсон датотеке у Питхону
Овај чланак ће вам објаснити како се рукује ЈСОН датотекама и подацима у програмском језику Питхон. Питхон долази са уграђеним „јсон“ модулом који чини руковање ЈСОН подацима једноставним и једноставним.

О ЈСОН-у

ЈСОН (ЈаваСцрипт Објецт Нотатион) је формат датотеке и стандард за складиштење података који користи парове кључ / вредност за чување и размену података. То је најчешће коришћени формат за размену података, који се често среће у РЕСТфул АПИ-има, лаганим базама података, конфигурационим датотекама и другом офлајн или мрежном софтверу који треба да складишти, преузима и размењује податке. Већина програмских језика подразумева библиотеке за рашчлањивање и писање ЈСОН података, а ЈСОН је агностички формат података програмског језика. Вредности ускладиштене у ЈСОН датотеци или корисном оптерећењу обично садрже низове, бројеве и серијске типове података попут листа (низова).

ЈСОН и Питхон речници

ЈСОН подаци у питхону се конвертују у објект речника помоћу методе „лоад“. Често се примећује да неки људи изједначавају јсон податке и питхон речник, јер је синтакса за дефинисање обојице приближно иста. Међутим, јсон подаци нису ништа друго до текстуални низ структуриран у крутој синтакси, док је питхон речник објекат структуре података ускладиштен у меморији. Ако податке речника желите да сачувате у текстуалној датотеци или да их пошаљете другом програму који није питхон, прво ћете их морати претворити у текстуални низ (бајтови). Овај избачени / претворени текстуални низ дефинисан је у ЈСОН-овој стандардној синтакси, а поступак претварања питхон речника у јсон компатибилни низ назива се сериализација.

Читање и избацивање ЈСОН података у Питхон-у

ЈСОН подаци се могу добити као одговор са сервера, читати из датотеке, исецати из параметара упита УРЛ-а и тако даље. Овај чланак ће се углавном фокусирати на читање јсон података из локално сачуване датотеке. Претпоставимо да је „тест.јсон ”датотека садржи следеће податке:

"цоденаме": "Еоан Ермине", "версион": "Убунту 19.10 "

Да бисте прочитали тест.јсон датотеку у питхону, можете користити доњи код:

импорт јсон
са отвореним („тест.јсон ") као ф:
дата = јсон.оптерећење (ф)
думп = јсон.депоније (подаци)
испис (подаци)
испис (врста (подаци))
испис (думп)
испис (врста (думп))

Прва линија у горњем коду увози јсон модул. У следећем реду, „витх опен“ се користи за сигурно читање садржаја датотеке. У оквиру блока „са отвореним“, „јсон.лоад “метода користи се за читање и чување садржаја датотеке у променљивој„ дата “. Подаци учитани у претходном кораку конвертују се назад у јсон низ помоћу „јсон.думп “метода. Покретање горњег кода приказаће следећи излаз:

'цоденаме': 'Еоан Ермине', 'версион': 'Убунту 19.10 '

"цоденаме": "Еоан Ермине", "версион": "Убунту 19.10 "

У горњем излазу приметите да је „јсон.лоад “метода чита необрађене јсон податке у питхон речник док„ јсон.думпс ”методе претвара речник у низ који је компатибилан са ЈСОН структуром. Једном када се ЈСОН објекат претвори у објекат речника питхон, можете да користите уграђене методе речника питхон за руковање подацима. Горњи пример је прилично основни и не укључује низове у ЈСОН подацима или угнеждене вредности. Међутим, унутар питхона, можете да рукујете овим вредностима као и сви други угнежђени речници и листе.

Сортирање и прилично штампање ЈСОН података

„Јсон.думп ”метода подржава неке опционалне параметре за сортирање кључева и прилично штампање резултата за побољшану читљивост.

импорт јсон
са отвореним („тест.јсон ") као ф:
дата = јсон.оптерећење (ф)
думп = јсон.одлагалишта (подаци, кључеви за сортирање = Тачно, увлака = 4)
испис (думп)

Горњи код ће показати следећи излаз:


"цоденаме": "Еоан хермелин",
"версион": "Убунту 19.10 "

Конверзије типа података

Списак испод илуструје како се ЈСОН вредности претварају у питхон објекте и обрнуто.

ЈСОН Питхон
низ стр
број инт или флоат
тачно нетачно Тачно нетачно
нула Ниједан
низ листа
објект дицт

Јсон.алатка Модул командне линије

Питхон укључује леп услужни програм командне линије „јсон.алат “који се може користити за валидацију и леп испис ЈСОН низова и датотека.

$ ецхо '"цоденаме": "Еоан Ермине", "версион": "Убунту 19.10 " '| питхон3 -м јсон.оруђе

Покретање горње команде показаће вам следећи излаз:


"цоденаме": "Еоан хермелин",
"версион": "Убунту 19.10 "

Такође можете да користите јсон.алат са ЈСОН датотекама. Замените „ин_филе“ и „оут_филе“ у наредби испод са вашим жељеним вредностима:

$ питхон3 -м јсон.алат ин_филе оут_филе

Осим лепог штампања, сортирања и валидације ЈСОН података, јсон.алат не ради ништа друго. Дакле, ако желите да манипулишете било којим ЈСОН подацима, морате да напишете сопствени прилагођени код помоћу уграђеног ЈСОН модула.

Топ 5 ергономских производа за рачунарски миш за Линук
Да ли дуготрајна употреба рачунара изазива бол у зглобу или прстима? Патите ли од укочених зглобова и стално морате да се рукујете? Да ли осећате гору...
Како променити поставке миша и додирне табле помоћу Ксинпут-а у Линук-у
Већина Линук дистрибуција подразумевано испоручује библиотеку „либинпут“ за обраду улазних догађаја на систему. Може да обрађује улазне догађаје и на ...
Замените тастере миша другачије за различити софтвер помоћу Кс-Моусе Буттон Цонтрол
Можда вам је потребан алат који би могао да промени контролу миша са сваком апликацијом коју користите. Ако је то случај, можете испробати апликацију ...