Hur konverterar jag ordlistan till JSON i python

How Convert Dictionary Json Python



JSON (JavaScript Object Notation) är ett populärt filformat för att enkelt presentera strukturerade data och enkelt överföra data mellan servern och applikationen. Strukturen för den här filen liknar vissa Python -objekt som lista, tupel och ordlista. Du kan konvertera valfritt ordboksobjekt till JSON objekt genom att använda dumpa() och soptippar () metoder för json modul. Den här artikeln visar hur du konverterar ett ordbokobjekt till JSON -objektet i python.

json.dumps () metod:

Denna metod används för att konvertera ordboksobjektet till JSON -data för analys eller läsning och det är långsammare än dumpa() metod.







Syntax:



json.soptippar(objekt,indrag=Ingen,sort_keys=Falsk)

Denna metod har många valfria argument. Användningen av ett obligatoriskt och två valfria argument visas i den här artikeln. Här är det första argumentet ett obligatoriskt argument som används för att ta vilket ordboksobjekt som helst, det andra argumentet används för att definiera antalet enheter för indragning och det tredje argumentet används för att sortera nycklar.



json.dump () metod:

Denna metod används för att lagra python -objekt i en JSON -fil. Det är snabbare än soptippar () metod eftersom den skriver i minnet och filen separat.





Syntax:

json.dumpa(ordbok,fileHandler,indrag=Ingen)

Denna metod har många argument som soptippar () . Användningen av tre argument används i den här artikeln för att konvertera data från ett ordboksobjekt till JSON -data och lagra data i en JSON -fil. Här används det första argumentet för att ta ett ordboksobjekt som måste konverteras till ett JSON -objekt, och det andra argumentet används för att ta namnet på filhanteraren för filen där JSON -data kommer att skrivas. Det tredje argumentet används för att ställa in indragningsenheten.



Hur dessa två metoder kan användas för att konvertera ordboksobjekt till en JSON -fil eller JSON -sträng visas nedan i den här artikeln.

Exempel-1: Konvertera ordlista till JSON med soptippar () med indrag

Det nämns tidigare att dumps () -metoden har en obligatorisk parameter och det kan ta ordboksobjektet att konvertera data till JSON -sträng. I följande skript, dict_data är en ordboksvariabel som innehåller data från en viss elevpost. I början, soptippen () metoden används med ett argument och värdet på dict_data konverteras till JSON -data. Utmatningen av både ordlista och JSON -format är densamma om ingen indragning används i JSON -data. Nästa, soptippen () metoden används med två argument, och 3 används som ett indragningsvärde för JSON -data. Den andra JSON -utmatningen genereras med indragning.

#!/usr/bin/env python3
# Importera json -modul
importerajson

# Definiera en ordbok
dict_data= { 'Student-ID':'011894', 'namn':'Matthew', 'omgång':30, 'termin':6 }
# Skriv ut ordboksdata
skriva ut('Diktonär utgång: n',dict_data, ' n')

# Konvertera ordlista till json -objekt utan indragning
json_data=json.soptippar(dict_data)
# skriv ut json -data
skriva ut('JSON -utmatning utan fördjupning: n',json_data, ' n')

# Konvertera ordlista till json -objekt med indrag
json_data=json.soptippar(dict_data,indrag=3)
# skriv ut json -data med indrag
skriva ut('JSON -utmatning med indrag: n',json_data)

Produktion:

Följande utdata visas efter att manuset har körts.

Exempel-2: Konvertera ordlista till JSON med hjälp av dumps () med sort_keys

Nycklarna till JSON -data kan sorteras med sort_keys argument om soptippar (). Standardvärdet för detta argument är False. I följande skript konverteras ordboksobjektet till JSON -data utan att använda sort_keys och använder sort_keys för att visa användningen av detta argument. Den första dumps () -metoden används med indragningsvärde 5 och Utmatningen visar JSON -data med indragning 5. I den andra dumps () -metoden används sort_keys och ställs in på True för att sortera nyckelvärdena. Den sista JSON -utmatningen visar data efter att nyckelvärden har sorterats.

#!/usr/bin/env python3
# Importera json -modul
importerajson

# Definiera en ordbok
dict_data= {'namn':'Madison','Månad':'Maj','år':2020,'försäljning':[1000, 2100, 3500, 1200]}
# Skriv ut ordboksdata
skriva ut('Diktonär utgång: n',dict_data, ' n')

# Konvertera en ordlista med listdata till json
json_data=json.soptippar(dict_data,indrag= 5)
# skriv ut json -data
skriva ut('JSON -utmatning med indrag: n',json_data)

# Konvertera en ordlista med listdata till json genom att sortera nycklar
json_data=json.soptippar(dict_data,indrag= 5,sort_keys= Sann)
# skriv ut sorterade json -data baserade på nycklar
skriva ut('Sorterad JSON -utmatning med indrag: n',json_data)

Produktion:

Följande utdata visas efter att manuset har körts. Den första JSON -utgången visar nyckelvärdena enligt definitionen i ordlistan och den andra JSON -utgången visar nyckelvärdena i sorterad ordning.

Exempel-3: Konvertera ordlista till JSON-data och lagra i en JSON-fil

Om du vill lagra JSON -data i en fil efter konvertering från ordlistan måste du använda soptippen() metod. Hur du kan konvertera ett ordboksobjekt till en JSON -data och lagra data i en JSON -fil visas i detta exempel. Här, dumpa() metoden använder tre argument. Det första argumentet tar det ordboksobjekt som har definierats tidigare. Det andra argumentet tar filhanteringsvariabeln som också har definierats tidigare för att skapa en JSON -fil. Det tredje argumentet definierar indragningsvärdet. Innehållet i den nyskrivna JSON kommer att skrivas ut senare som utdata.

#!/usr/bin/env python3
# Importera json -modul
importerajson

# Definiera en ordbok
dict_data= { 'c-101':'PHP -programmering', 'c-102':'Bash -programmering', 'c-103':
'Python -programmering',
'c-104':'Objektorienterad programmering' }
# Skriv ut ordboksdata
skriva ut('Diktonär utgång: n',dict_data, ' n')

# Ställ in json -filnamnet
jsonFile= 'course_list.json'
# Öppna en json -fil för att skriva json -data
med öppen(jsonFile, 'i') somfileHandler1:
json.dumpa(dict_data,fileHandler1,indrag= 2)

# Öppna en json -fil för läsning
fileHandler2= öppen(jsonFile)
skriva ut('Innehållet i JSON -filen: n',fileHandler2.läsa())

Produktion:

Följande utdata visas efter att manuset har körts.

Slutsats:

Det är nödvändigt att dölja ordboksdata till JSON -data för att underlätta olika programmeringsuppgifter. Denna datakonvertering är viktig eftersom data enkelt kan överföra från ett skript till ett annat skript med hjälp av JSON. Jag hoppas att den här självstudien kommer att hjälpa pythonanvändarna att känna till sätten att konvertera ordboksdata till JSON -data och tillämpa dem korrekt i sitt skript.