Python

Kako brati in pisati datoteke Json v Pythonu

Kako brati in pisati datoteke Json v Pythonu
Ta članek bo razložil, kako ravnati z datotekami JSON in podatki v programskem jeziku Python. Python ima vgrajen json modul, ki omogoča enostavno in enostavno obdelavo podatkov JSON.

O JSON-u

JSON (JavaScript Object Notation) je format datoteke in standard za shranjevanje podatkov, ki za shranjevanje in izmenjavo podatkov uporablja pare ključ / vrednost. To je najpogosteje uporabljena oblika izmenjave podatkov, ki jo pogosto vidimo v API-jih RESTful, lahkih zbirkah podatkov, konfiguracijskih datotekah in drugi programski opremi, ki ni na spletu ali v spletu in ki potrebuje za shranjevanje, pridobivanje in izmenjavo podatkov. Večina programskih jezikov privzeto vključuje knjižnice za razčlenjevanje in zapisovanje podatkov JSON, JSON pa je agnostična oblika podatkov programskega jezika. Vrednosti, shranjene v datoteki JSON ali koristnem tovoru, običajno vsebujejo nize, številke in podatkovne tipe, ki jih je mogoče serirati, kot so seznami (polja).

Slovarji JSON in Python

Podatki JSON v pythonu se pretvorijo v slovarski objekt z uporabo metode "load". Pogosto je opaziti, da nekateri enačijo podatke json in slovar python, saj je sintaksa za določitev obeh skoraj enaka. Vendar podatki json niso nič drugega kot besedilni niz, strukturiran v togi sintaksi, medtem ko je slovar python objekt podatkovne strukture, shranjen v pomnilniku. Če želite podatke o slovarju shraniti v besedilno datoteko ali jih poslati drugemu programu, ki ni python, jih boste morali najprej pretvoriti v besedilni niz (bajti). Ta dampinški / pretvorjeni besedilni niz je opredeljen v standardni sintaksi JSON in postopek pretvorbe slovarja python v niz, združljiv z json, se imenuje serializacija.

Branje in odstranjevanje podatkov JSON v Pythonu

Podatke JSON je mogoče pridobiti kot odgovor s strežnika, prebrati iz datoteke, razrezati iz parametrov poizvedbe URL itd. Ta članek se bo osredotočil predvsem na branje podatkov json iz lokalno shranjene datoteke. Predpostavimo, da je "test.json "vsebuje naslednje podatke:

"codename": "Eoan Ermine", "version": "Ubuntu 19.10 "

Za branje testa.json v pythonu, lahko uporabite spodnjo kodo:

uvoz json
z odprtim ("test.json ") kot f:
podatki = json.obremenitev (f)
dump = json.odlagališča (podatki)
tisk (podatki)
tisk (vrsta (podatki))
tiskanje (dump)
tiskanje (vrsta (dump))

Prva vrstica v zgornji kodi uvozi json modul. V naslednji vrstici se za varno branje vsebine datoteke uporablja »z odprtim«. V bloku »z odprtim« je json.load "se uporablja za branje in shranjevanje vsebine datotek v spremenljivko" data ". Podatki, naloženi v prejšnjem koraku, se pretvorijo nazaj v niz json z uporabo »json.dump “. Zagon zgornje kode bo prikazal naslednji izhod:

'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10 '

"codename": "Eoan Ermine", "version": "Ubuntu 19.10 "

V zgornjem izhodu opazite, da je json.load "metoda bere neobdelane json podatke v slovar python, medtem ko" json.dumps "pretvori slovar v niz, ki je združljiv s strukturo JSON. Ko je objekt JSON pretvorjen v objekt slovarja python, lahko za obdelavo podatkov uporabite vgrajene metode slovarja python. Zgornji primer je precej osnoven in ne vključuje nizov v podatkih JSON ali ugnezdenih vrednostih. Vendar znotraj pythona lahko s temi vrednostmi ravnate kot z drugimi ugnezdenimi slovarji in seznami.

Razvrščanje in lepo tiskanje podatkov JSON

"Json.dump ”metoda podpira nekatere neobvezne parametre za razvrščanje tipk in lepo tiskanje izhoda za boljšo berljivost.

uvoz json
z odprtim ("test.json ") kot f:
podatki = json.obremenitev (f)
dump = json.odlagališča (podatki, sort_keys = True, zamik = 4)
tiskanje (dump)

Zgornja koda bo prikazala naslednji izhod:


"codename": "Eoan hermelin",
"version": "Ubuntu 19.10 "

Pretvorbe podatkovnih vrst

Spodnji seznam prikazuje, kako se vrednosti JSON pretvorijo v predmete python in obratno.

JSON Python
vrvica str
številko int ali float
pravilno napačno Pravilno napačno
nič Nobenega
matriko seznam
predmet dict

Json.modul ukazne vrstice orodja

Python vključuje lepo orodje za ukazno vrstico json.orodje «, ki ga lahko uporabite za preverjanje in tiskanje nizov in datotek JSON.

$ echo '"codename": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.orodje

Zagon zgornjega ukaza vam bo pokazal naslednje rezultate:


"codename": "Eoan hermelin",
"version": "Ubuntu 19.10 "

Uporabite lahko tudi json.orodje z datotekami JSON. V spodnjem ukazu zamenjajte “in_file” in “out_file” z želenimi vrednostmi:

$ python3 -m json.orodje in_file out_file

Razen lepega tiskanja, razvrščanja in preverjanja podatkov JSON, json.orodje ne naredi nič drugega. Torej, če želite manipulirati s kakršnimi koli podatki JSON, morate z vgrajenim modulom JSON napisati svojo kodo po meri.

Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...