Sådan konverteres ordbogen til JSON i python

How Convert Dictionary Json Python



JSON (JavaScript Object Notation) er et populært filformat til nemt at præsentere de strukturerede data og overføre dataene mellem serveren og applikationen. Strukturen i denne fil ligner nogle Python -objekter som liste, tupel og ordbog. Du kan konvertere ethvert ordbogsobjekt til JSON objekt ved at bruge dump () og lossepladser () metoder til json modul. Denne artikel viser måder at konvertere ethvert ordbogsobjekt til JSON -objektet i python.

json.dumps () metode:

Denne metode bruges til at konvertere ordbogsobjektet til JSON -data til parsing eller læsning, og det er langsommere end dump () metode.







Syntaks:



json.lossepladser(objekt,indrykning=Ingen,sort_nøgler=Falsk)

Denne metode har mange valgfrie argumenter. Anvendelsen af ​​et obligatorisk og to valgfrie argumenter er vist i denne artikel. Her er det første argument et obligatorisk argument, der bruges til at tage ethvert ordbogsobjekt, det andet argument bruges til at definere antallet af enheder til indrykning og det tredje argument bruges til at sortere nøgler.



json.dump () metode:

Denne metode bruges til at gemme python -objekt i en JSON -fil. Det er hurtigere end lossepladser () metode, fordi den skriver i hukommelsen og filen separat.





Syntaks:

json.dump(ordbog,fileHandler,indrykning=Ingen)

Denne metode har mange argumenter som lossepladser () . Anvendelsen af ​​tre argumenter bruges i denne artikel til at konvertere dataene fra et ordbogsobjekt til JSON -data og gemme dataene i en JSON -fil. Her bruges det første argument til at tage et ordbogsobjekt, der skal konverteres til et JSON -objekt, og det andet argument bruges til at tage navnet på filhåndtereren for filen, hvor JSON -dataene vil blive skrevet. Det tredje argument bruges til at indstille indrykningsenheden.



Hvordan disse to metoder kan bruges til at konvertere ordbogsobjekt til en JSON -fil eller JSON -streng, vises nedenfor i denne artikel.

Eksempel-1: Konverter ordbog til JSON vha lossepladser () med indrykning

Det er nævnt før, at dumps () -metoden har en obligatorisk parameter, og det kan tage ordbogsobjektet at konvertere dataene til JSON -streng. I det følgende script, dict_data er en ordbogsvariabel, der indeholder dataene for en bestemt elevrekord. I starten lossepladserne () metode bruges med et argument og værdien af dict_data konverteres til JSON -data. Outputtet af både ordbog og JSON -format er det samme, hvis der ikke bruges indrykning i JSON -data. Næste, lossepladserne () metode bruges med to argumenter, og 3 bruges som indrykningsværdi for JSON -data. Det andet JSON -output genereres med indrykning.

#!/usr/bin/env python3
# Importer json -modul
importerejson

# Definer en ordbog
dict_data= { 'studiekort':'011894', 'navn':'Matthew', 'parti':30, 'semester':6 }
# Udskriv ordbogsdata
Print('Diktonær output: n',dict_data, ' n')

# Konverter ordbog til json -objekt uden indrykning
json_data=json.lossepladser(dict_data)
# udskriv json -data
Print('JSON Output uden indrykning: n',json_data, ' n')

# Konverter ordbog til json -objekt med indrykning
json_data=json.lossepladser(dict_data,indrykning=3)
# udskriv json -data med indrykning
Print('JSON Output med indrykning: n',json_data)

Produktion:

Følgende output vises efter at scriptet er kørt.

Eksempel-2: Konverter ordbog til JSON ved hjælp af dumps () med sort_keys

Nøglerne til JSON -data kan sorteres ved hjælp af sort_nøgler argument om lossepladser (). Standardværdien for dette argument er Falsk. I det følgende script konverteres ordbogsobjektet til JSON -data uden brug sort_nøgler og bruger sort_nøgler at vise brugen af ​​dette argument. Den første dumps () metode bruges med indrykningsværdi 5 og Output viser JSON -data ved hjælp af indrykning 5. I den anden dumps () metode bruges sort_keys og indstilles til True til sortering af nøgleværdierne. Den sidste JSON -output viser dataene efter sortering af nøgleværdier.

#!/usr/bin/env python3
# Importer json -modul
importerejson

# Definer en ordbog
dict_data= {'navn':'Madison','Måned':'Kan','år':2020,'salg':[1000, 2100, 3500, 1200]}
# Udskriv ordbogsdata
Print('Diktonær output: n',dict_data, ' n')

# Konverter en ordbog med listedata til json
json_data=json.lossepladser(dict_data,indrykning= 5)
# udskriv json -data
Print('JSON Output med indrykning: n',json_data)

# Konverter en ordbog med listedata til json ved at sortere nøgler
json_data=json.lossepladser(dict_data,indrykning= 5,sort_nøgler= Sand)
# print sorterede json -data baseret på nøgler
Print('Sorteret JSON -output med indrykning: n',json_data)

Produktion:

Følgende output vises efter at scriptet er kørt. Det første JSON -output viser nøgleværdierne som defineret i ordbogen, og det andet JSON -output viser nøgleværdierne i sorteret rækkefølge.

Eksempel-3: Konverter ordbog til JSON-data og gem i en JSON-fil

Hvis du vil gemme JSON -dataene i en fil efter konvertering fra ordbogen, skal du bruge lossepladsen () metode. Hvordan du kan konvertere et ordbogsobjekt til en JSON -data og gemme dataene i en JSON -fil, vises i dette eksempel. Her er dump () metode bruger tre argumenter. Det første argument tager ordbogsobjektet, der er defineret før. Det andet argument tager den filhåndteringsvariabel, der også er defineret før, for at oprette en JSON -fil. Det tredje argument definerer indrykningsværdien. Indholdet af den nyskrevne JSON udskrives senere som output.

#!/usr/bin/env python3
# Importer json -modul
importerejson

# Definer en ordbog
dict_data= { 'c-101':'PHP programmering', 'c-102':'Bash -programmering', 'c-103':
'Python -programmering',
'c-104':'Objektorienteret programmering' }
# Udskriv ordbogsdata
Print('Diktonær output: n',dict_data, ' n')

# Indstil json -filnavnet
jsonFile= 'course_list.json'
# Åbn en json -fil til at skrive json -data
med åben(jsonFile, 'i') somfileHandler1:
json.dump(dict_data,fileHandler1,indrykning= 2)

# Åbn en json -fil til læsning
fileHandler2= åben(jsonFile)
Print('JSON -filens indhold: n',fileHandler2.Læs())

Produktion:

Følgende output vises efter at scriptet er kørt.

Konklusion:

Det er påkrævet at skjule ordbogsdata til JSON -data for at gøre forskellige programmeringsopgaver lettere. Denne datakonvertering er vigtig, fordi dataene let kan overføres fra et script til et andet script ved hjælp af JSON. Jeg håber, at denne vejledning hjælper python -brugerne med at kende måderne til at konvertere ordbogsdata til JSON -data og anvende dem korrekt i deres script.