Branje in pisanje JSON v datoteko v Pythonu

Branje in pisanje JSON v datoteko v Pythonu

Polna oblika JSON je Javascript Object Notation. To pomeni, da se za shranjevanje in prenos podatkov uporablja skriptna (izvršljiva) datoteka, ki je sestavljena iz besedila v programskem jeziku. Python podpira JSON prek vgrajenega paketa JSON. Za uporabo te funkcije uvozimo paket JSON v skript Python. Besedilo v JSON je narejeno prek niza v narekovajih, ki vsebuje vrednost v preslikavi ključa in vrednosti znotraj { }. Podobno je slovar v Pythonu .

Pisanje JSON v datoteko v Pythonu

Serializacija JSON se nanaša na pretvorbo podatkov v niz bajtov (torej serijskih), ki se shranijo ali prenesejo po omrežju. Za upravljanje pretoka podatkov v datoteki uporablja knjižnica JSON v Pythonu smetišče () oz odlagališča () za pretvorbo objektov Python v njihov predmet JSON, tako da olajša zapisovanje podatkov v datoteke. Oglejte si spodnjo tabelo.

PYTHON OBJEKT OBJEKT JSON
Dict predmet
seznam, tuple niz
str vrvica
int, long, float številke
Prav prav
False lažno
Noben nič

1. način: Zapisovanje JSON v datoteko v Pythonu z uporabo json.dumps()

Paket JSON v Pythonu ima funkcijo, imenovano json.dumps(), ki pomaga pri pretvorbi slovarja v objekt JSON. Zahteva dva parametra:

    slovar – ime slovarja, ki ga je treba pretvoriti v objekt JSON. zamik – določa število enot za zamik

Po pretvorbi slovarja v objekt JSON ga preprosto zapišite v datoteko s funkcijo pisanja.

Python3




import> json> # Data to be written> dictionary> => {> > 'name'> :> 'sathiyajith'> ,> > 'rollno'> :> 56> ,> > 'cgpa'> :> 8.6> ,> > 'phonenumber'> :> '9976770500'> }> # Serializing json> json_object> => json.dumps(dictionary, indent> => 4> )> # Writing to sample.json> with> open> (> 'sample.json'> ,> 'w'> ) as outfile:> > outfile.write(json_object)>

Izhod:

2. način: Zapis JSON v datoteko v Pythonu z uporabo json.dump()

Drug način zapisovanja JSON v datoteko je uporaba metode json.dump(). Paket JSON ima funkcijo izpisa, ki neposredno zapiše slovar v datoteko v obliki JSON, ne da bi ga bilo treba pretvoriti v dejanski objekt JSON. Zahteva 2 parametra:

    slovar – ime slovarja, ki ga je treba pretvoriti v objekt JSON. kazalec datoteke – kazalec datoteke, odprte v načinu pisanja ali dodajanja.

Python3




# Python program to write JSON> # to a file> import> json> # Data to be written> dictionary> => {> > 'name'> :> 'sathiyajith'> ,> > 'rollno'> :> 56> ,> > 'cgpa'> :> 8.6> ,> > 'phonenumber'> :> '9976770500'> }> with> open> (> 'sample.json'> ,> 'w'> ) as outfile:> > json.dump(dictionary, outfile)>

Izhod:

Branje JSON iz datoteke z uporabo Pythona

Deserializacija je nasprotje serializacije, tj. pretvorba objektov JSON v njihove ustrezne objekte Python. Za to se uporablja metoda load(). Če ste uporabili podatke JSON iz drugega programa ali jih pridobili kot nizovni format JSON, jih je mogoče preprosto deserializirati z load(), ki se običajno uporablja za nalaganje iz niza, sicer je korenski objekt na seznamu ali Dict.

Branje JSON iz datoteke z uporabo json.load()

Paket JSON ima funkcijo json.load(), ki naloži vsebino JSON iz datoteke JSON v slovar. Potrebuje en parameter:

    Kazalec datoteke: Kazalec datoteke, ki kaže na datoteko JSON.

Python3




import> json> # Opening JSON file> with> open> (> 'sample.json'> ,> 'r'> ) as openfile:> > # Reading from json file> > json_object> => json.load(openfile)> print> (json_object)> print> (> type> (json_object))>

Izhod: