Hvad er Python JSON, og hvordan implementeres det?



Denne artikel om Python JSON hjælper dig med at lære, hvordan man parser, serialiserer og deserialiserer JSON ved hjælp af eksempelprogrammer.

Ved du, hvordan du transporterer dine data fra online API'er eller gemmer forskellige slags data til dine lokale maskiner? På den ene eller anden måde har du fordybet dig i JSON, som står for Java Script Object Notation. Det er et kendt og populært dataformat, der bruges til at repræsentere semistrukturerede data. Lad os lære mere om Python JSON i detaljer.

Følgende aspekter vil blive diskuteret i denne artikel:





Introduktion til JSON i Python:

JSON står for J ava S krybbe ELLER bject N otationer en måde at lagre information på en organiseret og nem måde. Dataene skal være i form af en tekst, når de udveksles mellem en browser og en server.

JSON-logo - Python JSON-Edureka



Hvis du spekulerer på, om det er tilfældet ? så er svaret ingen. Det er et script, der består af tekst og bruges til lagring og overførsel af data i et menneskeligt og maskinlæsbart format. Det er et lille, letvægtsdataformat inspireret af JavaScript og bruges generelt i tekst eller strengformat. En pakke af JSON er næsten identisk med en pythonordbog. Nu må du undre dig

Hvordan læses en JSON-fil i Python?

Svaret på dit spørgsmål er, at du skal importere JSON-modulet, der generelt konverterer Python-datatyperne til JSON-strengfilen. Den består af JSON-funktioner, der læser og skriver direkte fra JSON-filer. har en indbygget JSON-pakke og er en del af standardbiblioteket, så du behøver ikke installere det.

Eksempel:

import json

Nu hvor du er opmærksom på JSON i Python, skal vi se nærmere på Parsing.



Analyse:

JSON-biblioteket kan analysere JSON fra strenge eller filer. Det kan også analysere JSON i eller lister og gør omvendt. Parsing sker generelt i to faser:

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

Lad os få en bedre forståelse af begge faser.

Konvertering fra JSON til Python:

Du kan konvertere JSON-streng til Python ved hjælp afjson.loads ().Lad mig vise dig den praktiske implementering:

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)

Produktion:

Som du kan se fra ovenstående output, har den udskrevet a . Lad os udskrive datatypen for bedre forståelse.

hvordan man laver en pakke i java

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)) # udskriver datatypen

Produktion:



Nu hvor du er bekendt med en konvertering, skal vi se den anden konverteringstype i anden fase.

Konvertering fra Python til JSON:

Et Python-objekt kan konverteres til JSON-streng ved hjælp afjson.dumps ().Lad os se på et eksempel 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)

Produktion:

Outputtet vil være af en JSON-strengetype. Jeg har allerede demonstreret datatypen i JSON til Python-konvertering, den samme procedure følges vil blive fulgt for udskrivning af datatypen.


Lad os gå videre og se, hvordan Pandas analyserer JSON.

Pandaer, der analyserer JSON:

JSON-streng kan parses i en pandaer Dataframe fra følgende trin:

  • Følgende generiske struktur kan bruges til at indlæse JSON-strengen i DataFrame.
importer pandaer som pd pd.read_json (r'Path hvor du gemte JSON fileFile Name.json ')
  • Forbered JSON-strengen.
  • Opret en JSON-fil, som vi bruger er nobel_prize.json.
  • Indlæs JSON-filen i pandas DataFrame.

Den nedenfor implementerede kode indlæser min JSON-fil i DataFrame.

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

Produktion:

Gå videre, lad os se, hvordan du kan serieisere JSON i Python.

Serialisering af JSON [Encode]:

Serialisering af JSON betyder simpelthen, at du koder JSON. Det konverterer den givne Python-datastruktur (ex: dict) til sit gyldige JSON-objekt. For at håndtere datastrømmen i en fil bruger JSON-biblioteket i Python en dump () og lossepladser () metode, der gør konverteringen og gør det let at skrive data i filer.

Nedenfor er en tabel, der illustrerer Python datatyper bliver konverteret til deres respektive JSON-type.

Python JSON

dict (ordbog)

objekt

liste, matrix

tuple

snor

snor

int, lang, flyde

numre

Sand

sand

Falsk

falsk

Ingen

nul

Punkter at huske:

dump () - Konverterer dataene til en JSON-fil
lossepladser () - Konverterer dataene til en JSON-streng
belastning() - Konverterer JSON-filen til et Python-objekt
belastninger () - Konverterer et objekt af JSON-streng til et Python-objekt

Smuk udskrivning:

Pretty Printing tager sig af kodejusteringen og gør den i et menneskeligt læsbart format. Lad os se på nedenstående eksempel, hvor jeg har passeret to parametre 'sort_keys', der altid returnerer en boolsk sand værdi og 'indrykning' mellemrum.

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)

Produktion:

Gå videre i Python JSON-tutorial, lad os forstå deserialisering af JSON.

Deserialisering af JSON [Decode]:

Deserialisering af JSON er det modsatte af serialisering, dvs. det betyder, at du afkoder JSON. Den konverterer den givne JSON-streng til en Python objekt ved at gøre brug af belastning() og belastninger () metode, der gør konverteringen.

Nedenfor er en tabel, der illustrerer konverteringen af ​​JSON-datatypen til dens respektive Python-type.

JSON Python

objekt

dict (ordbog)

tuple

liste, matrix

snor

snor

numre

hvordan man laver en jframe

int, lang, flyde

sand

Sand

falsk

Falsk

nul

Ingen

Gå videre i 'Python JSON' tutorial. Jeg viser dig et realtidseksempel på både serialisering og deserialisering gennem kodningsperspektiv.

Kodningsdemonstration:

I denne kodningsdemonstration bruger jeg et JSON-datasæt kaldet ”Nobelprisen”, der er givet her . Du lærer, hvordan du laver serialisering og deserialisering af det samme gennem en JSON-fil.

Eksempel (Serialisering af JSON-datasæt):

importer 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)

Produktion:

kompileres med succes, og der oprettes en ny fil 'new_nobel_prize.json', hvor dataene dumpes fra en allerede eksisterende fil 'nobel_prize.json'.

Eksempel (Deserialisering af JSON-datasæt):

importer json med open ('nobel_prize.json.html') som f: data = json.load (f) for nobel_prize i data ['præmier']: udskriv (nobel_prize ['år'], nobel_pris ['kategori'])

Produktion:

Kodestykket viser ændringerne fra en JSON-fil til det respektive Python-objekt.

Dette bringer os til slutningen af ​​vores artikel 'Python JSON'. Jeg håber, du er klar med alle begreber relateret til JSON, parsing, serialisering og deserialisering.

Sørg for at øve så meget som muligt, og vend din oplevelse tilbage.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne Python JSON-artikel, og vi vender tilbage til dig så hurtigt som muligt. For at få indgående kendskab til Python sammen med dens forskellige applikationer kan du med vores live online træning med support døgnet rundt og adgang til livet.