Hva er Python JSON og hvordan implementerer jeg det?



Denne artikkelen om Python JSON vil hjelpe deg med å lære å analysere, serieisere og deserialisere JSON ved hjelp av eksempelprogrammer.

Vet du hvordan du transporterer dataene dine fra online API-er eller lagrer forskjellige typer data til lokale maskiner? På den ene eller andre måten har du fordypet deg i JSON som står for Java Script Object Notation. Det er et kjent og populært dataformat som brukes til å representere semistrukturerte data. La oss få vite mer om Python JSON i detalj.

Følgende aspekter vil bli diskutert i denne artikkelen:





Introduksjon til JSON i Python:

JSON står for J ava S krypt ELLER bject N otasjoner en måte å lagre informasjon på en organisert og enkel måte. Dataene må være i form av en tekst når de utveksles mellom en nettleser og en server.

JSON-logo - Python JSON-Edureka



I tilfelle du lurer på om det er det ? da er svaret Nei. Det er et skript som består av tekst og brukes til å lagre og overføre data i et menneskelig og maskinlesbart format. Det er et lite, lett dataformat inspirert av JavaScript og vanligvis brukt i tekst eller strengformat. En pakke med JSON er nesten identisk med en pythonordbok. Nå lurer du sikkert

Hvordan leser jeg en JSON-fil i Python?

Svaret på spørsmålet ditt er at du må importere JSON-modulen som vanligvis konverterer Python-datatypene til JSON-strengfilen. Den består av JSON-funksjoner som leser og skriver direkte fra JSON-filer. har en innebygd JSON-pakke og er en del av standardbiblioteket, så du trenger ikke installere den.

Eksempel:

importere json

Nå som du er klar over JSON i Python, la oss se nærmere på Parsing.



Analyse:

JSON-biblioteket kan analysere JSON fra strenger eller filer. Det kan også analysere JSON i eller liste opp og gjør omvendt. Analyse skjer vanligvis i to trinn:

  1. Konvertering fra JSON til Python
  2. Konvertering fra Python til JSON

La oss få en bedre forståelse av begge trinnene.

Konvertering fra JSON til Python:

Du kan konvertere JSON-streng til Python ved å brukejson.loads ().La meg vise deg den praktiske gjennomføringen:

Eksempel:

import json people_string = '' '{' people ': [{' 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'}]} ' '' data = json.loads (people_string) print (data)

Produksjon:

Som du kan se fra ovenstående utskrift, har den skrevet ut a . La oss skrive ut datatypen for bedre forståelse.

Eksempel:

import json people_string = '' '{' people ': [{' 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'}]} ' '' data = json.loads (people_string) print (type (data)) #prints datatype

Produksjon:



Nå som du er kjent med en konvertering, la oss se den andre konverteringstypen i andre fase.

Konvertering fra Python til JSON:

Et Python-objekt kan konverteres til JSON-streng ved hjelp avjson.dumps ().La oss se på et eksempel gitt nedenfor:

Eksempel:

import json people_string = '' '{' people ': [{' 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'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) print (new_string)

Produksjon:

Utgangen vil være av en JSON-strengtype. Jeg har allerede demonstrert datatypen i JSON til Python-konvertering, den samme prosedyren følges vil bli fulgt for utskrift av datatypen.


La oss gå videre og se hvordan Pandas analyserer JSON.

Pandas Parsing JSON:

JSON-strengen kan analyseres i en pandaer Dataframe fra følgende trinn:

  • Følgende generiske struktur kan brukes til å laste JSON-strengen inn i DataFrame.
importer pandaer som pd pd.read_json (r'Path hvor du lagret JSON fileFile Name.json ')
  • Forbered JSON-strengen.
  • Opprett en JSON-fil som vi bruker er nobel_prize.json.
  • Last JSON-filen i pandas DataFrame.

Den nedenfor implementerte koden laster inn JSON-filen min i DataFrame.

importere pandaer som pd importere json med åpen (r'C: UsersHarshit_KantDesktopnobel.prize.json ') som f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Produksjon:

La oss se hvordan du kan serieisere JSON i Python.

Serialisering av JSON [Encode]:

Serialisering av JSON betyr ganske enkelt at du koder JSON. Den konverterer den gitte Python-datastrukturen (eks: dict) til sitt gyldige JSON-objekt. For å håndtere dataflyten i en fil bruker JSON-biblioteket i Python en dump () og dumper() metoden, som gjør konverteringen og gjør det enkelt å skrive data i filer.

Nedenfor er en tabell som illustrerer Python datatyper blir konvertert til sin respektive JSON-type.

Python JSON

dict (ordbok)

gjenstand

java konvertere streng til dags dato

liste, matrise

tuple

streng

streng

int, lang, flyte

tall

ekte

ekte

Falsk

falsk

Ingen

null

Fibonacci c ++ rekursiv

Poeng å huske:

dump () - Konverterer dataene til en JSON-fil
dumper() - Konverterer dataene til en JSON-streng
laste() - Konverterer JSON-filen til et Python-objekt
laster() - Konverterer et objekt av JSON-streng til et Python-objekt

Pen utskrift:

Pretty Printing tar seg av kodejusteringen og gjør den i et lesbart format. La oss se på eksemplet nedenfor der jeg har passert to parametere 'sort_keys' som alltid returnerer en boolsk sann verdi og 'innrykk' mellomrom.

Eksempel:

import json people_string = '' '{' people ': [{' 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'}]} '' data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)

Produksjon:

Gå videre i Python JSON-opplæringen, la oss forstå deserialiseringen av JSON.

Deserialisering av JSON [Decode]:

Deserialisering av JSON er det stikk motsatte av serialisering, dvs. det betyr at du dekoder JSON. Den konverterer den gitte JSON-strengen til en Python gjenstand ved å benytte seg av laste() og laster() metoden som gjør konverteringen.

Nedenfor er en tabell som illustrerer konvertering av JSON-datatype til sin respektive Python-type.

JSON Python

gjenstand

dict (ordbok)

tuple

liste, matrise

streng

streng

tall

int, lang, flyte

ekte

ekte

falsk

Falsk

null

Ingen

Gå videre i 'Python JSON' -veiledningen. Jeg viser deg et sanntidseksempel på både serialisering og deserialisering gjennom kodingsperspektiv.

Kodningsdemonstrasjon:

I denne kodedemonstrasjonen bruker jeg et JSON-datasett kalt “Nobel Prize” som blir gitt her . Du vil lære hvordan du gjør serialisering og deserialisering av det samme gjennom en JSON-fil.

Eksempel (Serialisering av JSON-datasettet):

importere json med open ('nobel_prize.json.html') som f: data = json.load (f) med open ('new_nobel_prize.json.html') som f: json.dump (data, f, indent = 2)

Produksjon:

kompileres og en ny fil “new_nobel_prize.json” blir opprettet der dataene blir dumpet fra en allerede eksisterende fil “nobel_prize.json”.

Eksempel (deserialisering av JSON-datasettet):

importere json med open ('nobel_prize.json.html') som f: data = json.load (f) for nobel_prize i data ['premier']: utskrift (nobel_prize ['år'], nobel_pris ['kategori'])

Produksjon:

Kodebiten viser endringene fra en JSON-fil til det respektive Python-objektet.

Dette bringer oss til slutten av artikkelen 'Python JSON'. Jeg håper du er klar med alle konseptene knyttet til JSON, parsing, serialisering og deserialisering.

Forsikre deg om at du trener så mye som mulig og tilbakestiller opplevelsen.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne Python JSON-artikkelen, og vi vil kontakte deg så snart som mulig. For å få inngående kunnskap om Python sammen med dets forskjellige applikasjoner, kan du med vår online opplæring med 24/7 support og levetidstilgang.