Lasiet JSON failu, izmantojot Python
Pilna JSON forma ir JavaScript Object Notation. Tas nozīmē, ka datu glabāšanai un pārsūtīšanai tiek izmantots skripta (izpildāmais) fails, kas ir veidots no teksta programmēšanas valodā. Python atbalsta JSON, izmantojot iebūvēto pakotni, ko sauc par JSON. Lai izmantotu šo funkciju, mēs importējam JSON pakotni Python skripts. Teksts JSON tiek veidots, izmantojot pēdiņās norādīto virkni, kas satur vērtību atslēgas vērtību kartēšanā { }.
Python Parse JSON — kā lasīt JSON failu
Ir diezgan viegli ielādēt JSON objektu Python. Python ir iebūvēta pakotne ar nosaukumu JSON , ko var izmantot darbam ar JSON datiem. Tas tiek darīts, izmantojot JSON moduli, kas mums nodrošina daudzas metodes, tostarp loads() un load() metodes palīdzēs mums nolasīt JSON failu.
Deserializējiet JSON virkni objektam programmā Python
JSON deserializācija nozīmē JSON objektu konvertēšanu to attiecīgajos Python objektos. Tam tiek izmantota metode load()/loads(). Ja esat izmantojis JSON datus no citas programmas vai ieguvis tos kā JSON virknes formātu, tad tos var viegli deserializēt ar load()/loads(), ko parasti izmanto, lai ielādētu no virknes, pretējā gadījumā saknes objekts atrodas saraksts vai diktāts. Skatiet tālāk sniegto tabulu.
| JSON OBJEKTS | PYTHON OBJEKTS |
|---|---|
| objektu | dikt |
| masīvs | sarakstu |
| virkne | str |
| null | Nav |
| numurs (int) | starpt |
| numurs (reāls) | peldēt |
| taisnība | Taisnība |
| viltus | Nepatiesi |
json.load() metode
Fails json.load() pieņem faila objektu, parsē JSON datus, aizpilda Python vārdnīcu ar datiem un atgriež tos jums.
Sintakse:
json.load(faila objekts)
Parametrs: Tas ņem faila objektu kā parametru.
Atgriezties: Tas atgriež JSON objektu.
JSON faila ielāde programmā Python
Šeit mēs lasīsim JSON failu ar nosaukumu data.json faila ekrānuzņēmums ir parādīts zemāk.
Zemāk esošajā kodā vispirms importējam JSON moduli, atveram failu, izmantojot failu apstrādi Open() funkcija , un pēc tam saglabājiet datus mainīgajā 'dati' izmantojot funkciju json.load(). Pēc tam mēs atkārtojam datus un izdrukājam tos.
Python3
# Python program to read> # json file> import> json> # Opening JSON file> f> => open> (> 'data.json'> )> # returns JSON object as> # a dictionary> data> => json.load(f)> # Iterating through the json> # list> for> i> in> data[> 'emp_details'> ]:> > print> (i)> # Closing file> f.close()> |
Izvade:
json.loads() metode
Ja mums ir JSON virkne, mēs varam to parsēt, izmantojot json.loads() metodi . json.loads() neizmanto faila ceļu, bet gan faila saturu kā virkni. Lai lasītu JSON faila saturu, mēs varam izmantot fileobject.read(), lai pārvērstu failu virknē un nodotu to ar json.loads (). Šī metode atgriež faila saturu.
Sintakse:
json.loads(S)
Parametrs: tas aizņem virkni, baitus vai baitu masīva gadījumu, kas satur JSON dokumentu kā parametru (S).
Atgriešanas veids: Tas atgriež Python objektu.
Python — lasiet JSON virkni
Šajā piemērā ir parādīta lasīšana gan no virknes, gan JSON faila, izmantojot metodi json.loads(). Pirmkārt, mums ir JSON virkne, kas saglabāta mainīgajā “j_string” un konvertējiet šo JSON virkni Python vārdnīcā, izmantojot json.loads() metodi, kas tiek saglabāta mainīgajā 'un' pēc tam mēs to izdrukājam. Otrkārt, mēs nolasām JSON virkni, kas saglabāta failā, izmantojot json.loads(), lai vispirms pārveidotu JSON failu par virkni, izmantojot tādu pašu failu apstrādi kā iepriekš minētajā piemērā, un pēc tam konvertējam to par virkni, izmantojot funkciju read() un pārējā procedūra ir tāda pati, kā mēs rīkojamies pirms metodes json.loads() izmantošanas.
Python3
# Python program to read> # json file> import> json> # JSON string> j_string> => '{'name': 'Bob', 'languages': 'English'}'> # deserializes into dict and returns dict.> y> => json.loads(j_string)> print> (> 'JSON string = '> , y)> print> ()> # JSON file> f> => open> (> 'data.json'> ,> 'r'> )> # Reading from file> data> => json.loads(f.read())> # Iterating through the json list> for> i> in> data[> 'emp_details'> ]:> > print> (i)> # Closing file> f.close()> |
Paskaidrojums: Šeit izvadē mēs varam redzēt gan lasīšanas virknes, gan faila izvadi, izmantojot json.loads() metodi
Izvade: