Vad är Python JSON och hur implementerar jag det?



Den här artikeln om Python JSON hjälper dig att lära dig hur man analyserar, serialiserar och deserialiserar JSON med hjälp av exempelprogram.

Vet du hur du transporterar dina data från online-API: er eller lagrar olika typer av data till dina lokala maskiner? På ett eller annat sätt har du fördjupat dig i JSON som står för Java Script Object Notation. Det är ett känt och populärt dataformat som används för att representera halvstrukturerad data. Låt oss lära oss mer om Python JSON i detalj.

Följande aspekter kommer att diskuteras i den här artikeln:





Introduktion till JSON i Python:

JSON står för J ava S krypt ELLER bject N otationär ett sätt att lagra information på ett organiserat och enkelt sätt. Uppgifterna måste vara i form av en text när de utbyts mellan en webbläsare och en server.

JSON-logotyp - Python JSON-Edureka



Om du undrar om det är ? då är svaret Nej. Det är ett skript som består av text och används för att lagra och överföra data i ett mänskligt och maskinläsbart format. Det är ett litet, lättviktsformat inspirerat av JavaScript och används vanligtvis i text eller strängformat. Ett paket med JSON är nästan identisk med en pythonordbok. Nu måste du undra

Hur läser jag en JSON-fil i Python?

Svaret på din fråga är att du måste importera JSON-modulen som vanligtvis konverterar Python-datatyperna till JSON-strängfilen. Den består av JSON-funktioner som läser och skriver direkt från JSON-filer. har ett inbyggt JSON-paket och är en del av standardbiblioteket, så du behöver inte installera det.

Exempel:

importera json

Nu när du är medveten om JSON i Python, låt oss ta en djupare titt på Parsing.



Analysering:

JSON-biblioteket kan analysera JSON från strängar eller filer. Det kan också analysera JSON i eller lista och göra vice versa. Tolkning sker vanligtvis i två steg:

  1. Konvertering från JSON till Python
  2. Konvertering från Python till JSON

Låt oss få en bättre förståelse för båda stadierna.

Konvertering från JSON till Python:

Du kan konvertera JSON-sträng till Python genom att användajson.loads ().Låt mig visa dig det praktiska genomförandet:

Exempel:

importera 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 från ovanstående utskrift har den skrivit ut a . Låt oss skriva ut datatypen för bättre förståelse.

Exempel:

importera 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

Produktion:



Nu när du känner till en konvertering, låt oss se den andra konverteringstypen i det andra steget.

Konvertering från Python till JSON:

Ett Python-objekt kan konverteras till JSON-sträng medjson.dumps ().Låt oss ta en titt på ett exempel nedan:

Exempel:

importera 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:

Utdata kommer att vara av JSON-strängtyp. Jag har redan visat datatypen i JSON till Python-konvertering, samma procedur följs kommer att följas för att skriva ut datatypen.


Låt oss gå vidare och se hur Pandas analyserar JSON.

Pandor Parsing JSON:

JSON-strängen kan analyseras till en pandor Dataframe från följande steg:

  • Följande generiska struktur kan användas för att ladda JSON-strängen i DataFrame.
importera pandor som pd pd.read_json (r'Path där du sparade JSON fileFile Name.json ')
  • Förbered JSON-strängen.
  • Skapa en JSON-fil som vi använder är nobel_prize.json.
  • Ladda JSON-filen i pandas DataFrame.

Den nedan implementerade koden laddar min JSON-fil i DataFrame.

importera pandor som pd importera json med öppen (r'C: UsersHarshit_KantDesktopnobel.prize.json ') som f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Produktion:

Låt oss se hur du kan serieera JSON i Python.

vilken skannerklassmetod läser en sträng?

Serialisering av JSON [Encode]:

Serialisering av JSON betyder helt enkelt att du kodar JSON. Den konverterar den givna Python-datastrukturen (ex: dict) till sitt giltiga JSON-objekt. För att hantera dataflödet i en fil använder JSON-biblioteket i Python en dumpa() och dumpar () metoden, som gör konverteringen och gör det enkelt att skriva data i filer.

Nedan följer en tabell som illustrerar Pytonorm datatyper konverteras till respektive JSON-typ.

Pytonorm JSON

dict (ordbok)

objekt

lista, matris

tupel

sträng

sträng

int, lång, flyta

tal

Sann

Sann

Falsk

falsk

Ingen

null

Poäng att komma ihåg:

dumpa() - Konverterar data till en JSON-fil
dumpar () - Konverterar data till en JSON-sträng
ladda() - Konverterar JSON-filen till ett Python-objekt
massor() - Konverterar ett objekt av JSON-sträng till ett Python-objekt

Vacker utskrift:

Pretty Printing tar hand om kodjusteringen och gör den i ett läsbart format. Låt oss titta på exemplet nedan där jag har skickat två parametrar 'sort_keys' som alltid returnerar ett booleskt True-värde och 'indent' -utrymmen.

Exempel:

importera 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å vidare i Python JSON-handledning, låt oss förstå deserialisering av JSON.

Deserialisering av JSON [Decode]:

Deserialisering av JSON är exakt motsatsen till serialisering, det vill säga det betyder att du avkodar JSON. Den konverterar den angivna JSON-strängen till en Pytonorm objekt genom att använda ladda() och massor() metod som gör omvandlingen.

Nedan följer en tabell som illustrerar omvandlingen av JSON-datatyp till dess respektive Python-typ.

JSON Pytonorm

objekt

dict (ordbok)

tupel

lista, matris

sträng

sträng

tal

int, lång, flyta

Sann

ring genom referens i c ++

Sann

falsk

Falsk

null

Ingen

Gå vidare i 'Python JSON' -handledningen. Jag visar dig ett realtidsexempel på både serialisering och deserialisering genom kodningsperspektiv.

Kodningsdemonstration:

I denna kodningsdemonstration använder jag mig av ett JSON-dataset som heter 'Nobelpris' som ges här . Du lär dig hur man gör serialisering och deserialisering av detsamma genom en JSON-fil.

Exempel (Serialisering av JSON-dataset):

importera 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:

kompileras framgångsrikt och en ny fil 'new_nobel_prize.json' skapas där data dumpas från en redan existerande fil 'nobel_prize.json'.

Exempel (Deserialisering av JSON-dataset):

importera json med öppen ('nobel_prize.json.html') som f: data = json.load (f) för nobel_prize i data ['priser']: tryck (nobel_pris ['år'], nobel_pris ['kategori'])

Produktion:

Kodavsnittet visar ändringarna från en JSON-fil till respektive Python-objekt.

Detta leder oss till slutet av vår artikel 'Python JSON'. Jag hoppas att du är tydlig med alla begrepp relaterade till JSON, Parsing, Serialization och Deserialization.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna Python JSON-artikel så kommer vi tillbaka till dig så snart som möjligt. För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du med vår live-utbildning online med support dygnet runt och livstidsåtkomst.