Kas yra „Python JSON“ ir kaip tai įgyvendinti?



Šis straipsnis apie „Python JSON“ padės jums išmokti analizuoti, nuoseklinti ir deserializuoti JSON naudojant pavyzdines programas.

Ar žinote, kaip perkelti duomenis iš internetinių API arba saugoti įvairius duomenis į vietinius kompiuterius? Vienaip ar kitaip jūs pasinėrėte į JSON, kuris reiškia „Java Script“ objektų žymėjimas. Tai žinomas ir populiarus duomenų formatas, naudojamas pusiau struktūriniams duomenims pateikti. Išsamiau sužinokime daugiau apie „Python JSON“.

Šiame straipsnyje bus aptarti šie aspektai:





Įvadas į JSON „Python“:

JSON reiškia ava S scenarijus ARBA objektas N otacijayra būdas organizuotai ir lengvai saugoti informaciją. Duomenys turi būti teksto formos, kai keičiamasi tarp naršyklės ir serverio.

JSON logotipas - „Python JSON-Edureka“



Jei jums kyla klausimas, ar taip yra ? tada atsakymas yra ne. Tai scenarijus, sudarytas iš teksto ir naudojamas duomenims saugoti ir perduoti žmogaus ir mašininio skaitymo formatu. Tai nedidelis, lengvas duomenų formatas, įkvėptas „JavaScript“ ir paprastai naudojamas teksto ar eilutės formatu. Pakelis JSON yra beveik identiškas pitono žodynui. Dabar jūs tikriausiai stebitės

Kaip skaityti JSON failą „Python“?

Atsakymas į jūsų klausimą yra tas, kad turite importuoti JSON modulį, kuris paprastai paverčia Python duomenų tipus į JSON eilutės failą. Jį sudaro JSON funkcijos, skaitančios ir rašančios tiesiai iš JSON failų. turi įmontuotą JSON paketą ir yra standartinės bibliotekos dalis, todėl jo nereikia įdiegti.

Pavyzdys:

importuoti Json

Dabar, kai žinote apie JSON „Python“, pažvelkime į analizavimą.



Analizuojama:

JSON biblioteka gali analizuoti JSON iš stygos ar failus. Jis taip pat gali analizuoti JSON į arba išvardykite ir atlikite atvirkščiai. Analizavimas paprastai vyksta dviem etapais:

  1. Konversija iš JSON į Python
  2. Konversija iš Python į JSON

Geriau supraskime abu etapus.

Konversija iš JSON į Python:

Galite konvertuoti JSON eilutę į „Python“ naudodamijson.loads ().Leiskite man parodyti praktinį įgyvendinimą:

Pavyzdys:

importuoti json people_string = '' '' 'žmonės': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]}} ' duomenys = json.loads (people_string) spausdinti (duomenys)

Išvestis:

stl rūšiuoti c ++

Kaip matote iš pirmiau pateiktos išvesties, jis atspausdino a . Atspausdinkime duomenų tipą, kad geriau suprastume.

Pavyzdys:

importuoti json people_string = '' '' 'žmonės': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]}} ' duomenys = json.loads (people_string) spausdinti (tipas (duomenys)) #spausdina duomenų tipą

Išvestis:



Dabar, kai esate susipažinę su viena konversija, pamatysime kitą konversijos tipą antrame etape.

Konversija iš Python į JSON:

„Python“ objektą galima konvertuoti į JSON eilutę naudojantjson.dumps ().Pažvelkime į toliau pateiktą pavyzdį:

Pavyzdys:

importuoti json people_string = '' '' 'žmonės': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]]} duomenys = json.loads (žmonių_string) new_string = json.dumps (duomenys) print (new_string)

Išvestis:

Išvestis bus JSON eilutės tipo. Aš jau parodžiau duomenų tipą JSON į Python konversijoje, ta pati procedūra bus taikoma spausdinant duomenų tipą.


Judėkime į priekį ir pažiūrėkime, kaip Pandas analizuoja JSON.

Pandos analizuoja JSON:

JSON eilutę galima išanalizuoti į a pandos Duomenų rėmelis iš šių veiksmų:

  • Šią bendrą struktūrą galima naudoti norint įkelti JSON eilutę į „DataFrame“.
importuoti pandas kaip pd pdreadread_json (r'Path, kur išsaugojote JSON failąFile Name.json ')
  • Paruoškite JSON eilutę.
  • Sukurkite JSON failą, kurį naudojame Nobel_prize.json.
  • Įkelkite JSON failą į „pandas DataFrame“.

Žemiau įdiegtas kodas įkelia mano JSON failą į „DataFrame“.

importuoti pandas kaip pd importuoti Json su atviru (r'C: UsersHarshit_KantDesktopnobel.prize.json ') kaip f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Išvestis:

Pažvelkime į priekį, pažiūrėkime, kaip galite susisteminti JSON „Python“.

JSON serija (koduoti):

JSON serializavimas reiškia, kad jūs koduojate JSON. Ji paverčia pateiktą „Python“ duomenų struktūrą (pvz .: dict) į galiojantį JSON objektą. Norėdami tvarkyti failo duomenų srautą, „Python“ JSON biblioteka naudoja a išpilti () ir sąvartynai () metodas, kuris konvertuoja ir leidžia lengvai įrašyti duomenis į failus.

Toliau pateikiama lentelė, iliustruojanti „Python“ duomenų tipai konvertuojami į atitinkamą JSON tipą.

„Python“ JSON

dict (žodynas)

objektas

sąrašas, masyvas

dvipusis

stygos

stygos

int, ilgas, plūduriuojantis

numeriai

Tiesa

tiesa

Klaidinga

melagingas

Nė vienas

niekinis

Reikėtų atsiminti:

kaip padaryti įspėjimą html

išpilti () - Konvertuoja duomenis į JSON failą
sąvartynai () - Konvertuoja duomenis į JSON eilutę
apkrova () - Konvertuoja JSON failą į „Python“ objektą
kroviniai () - Konvertuoja JSON eilutės objektą į „Python“ objektą

Gražus spausdinimas:

„Pretty Printing“ rūpinasi kodo sulygiavimu ir daro jį žmonėms skaitomu formatu. Pažvelkime į žemiau pateiktą pavyzdį, kur aš perdaviau du parametrus „sort_keys“, kurie visada pateikia loginę tikrąją reikšmę ir „įtraukos“ tarpus.

Pavyzdys:

importuoti json people_string = '' '' 'žmonės': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]]} duomenys = json.loads (žmonių_string) new_string = json.dumps (duomenys, sort_keys = True, įtrauka = ​​3) print (new_string)

Išvestis:

„Python JSON“ mokymo programoje leiskite mums suprasti JSON deserializaciją.

JSON [dekoduoti] deserializavimas:

JSON deserializavimas yra visiškai priešingas serializavimui, t. Y. Tai reiškia, kad jūs dekoduojate JSON. Ji paverčia pateiktą JSON eilutę į a „Python“ objektas pasinaudojant apkrova () ir apkrovos () metodas, kuris atlieka konversiją.

Toliau pateikiama lentelė, iliustruojanti JSON duomenų tipo konversiją į atitinkamą „Python“ tipą.

JSON „Python“

objektas

dict (žodynas)

dvipusis

sąrašas, masyvas

stygos

stygos

numeriai

int, ilgas, plūduriuojantis

tiesa

Tiesa

melagingas

Klaidinga

niekinis

Nė vienas

Žingsnis į priekį „Python JSON“ pamokoje. Aš jums parodysiu tiek serializavimo, tiek deserializavimo realiuoju laiku kodavimo perspektyvą.

Kodavimo demonstravimas:

Šioje kodavimo demonstracijoje aš naudoju JSON duomenų rinkinį, pavadintą „Nobelio premija“ čia . Sužinosite, kaip tai padaryti naudojant JSON failą.

Pavyzdys (JSON duomenų rinkinio serizavimas):

importuoti „Json“ su „open“ („nobel_prize.json.html“) kaip f: data = json.load (f) su „open“ („new_nobel_prize.json.html“) kaip f: json.dump (duomenys, f, įtrauka = ​​2)

Išvestis:

yra sėkmingai sukompiliuotas ir sukurtas naujas failas „new_nobel_prize.json“, kuriame duomenys iškeliami iš jau esančio failo „nobel_prize.json“.

Pavyzdys (JSON duomenų rinkinio deserializavimas):

importuoti „Json“ su „open“ („nobel_prize.json.html“) kaip f: data = json.load (f) už „nobel_prize“ duomenyse ['prizai']: spausdinti (nobel_prize ['metai'], nobel_prize ['kategorija'])

Išvestis:

Kodo fragmentas rodo pakeitimus iš JSON failo į atitinkamą „Python“ objektą.

Tai priveda prie mūsų straipsnio „Python JSON“ pabaigos. Tikiuosi, kad jūs suprantate visas sąvokas, susijusias su JSON, analizavimu, serializavimu ir deserializavimu.

Įsitikinkite, kad praktikuojate kuo daugiau ir grąžinkite savo patirtį.

Turite mums klausimą? Prašau tai paminėti šio „Python JSON“ straipsnio komentarų skyriuje ir mes kuo greičiau susisieksime su jumis. Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite su mūsų tiesioginėmis internetinėmis treniruotėmis, palaikančiomis visą parą ir visą parą.