Kaip python konvertuoti žodyną į JSON

How Convert Dictionary Json Python



JSONAS („JavaScript Object Notation“) yra populiarus failų formatas, skirtas struktūriniams duomenims pateikti ir lengvai perduoti duomenis tarp serverio ir programos. Šio failo struktūra panaši į kai kuriuos „Python“ objektus, tokius kaip sąrašas, rinkinys ir žodynas. Bet kurį žodyno objektą galite konvertuoti į JSON objektą naudojant sąvartynas () ir sąvartynai () metodai json modulis. Šiame straipsnyje pateikiami būdai, kaip bet kurį žodyno objektą paversti JSON objektu „python“.

json.dumps () metodas:

Šis metodas naudojamas žodyno objektui konvertuoti į JSON duomenis, kad būtų galima analizuoti ar skaityti, ir jis yra lėtesnis nei sąvartynas () metodas.







Sintaksė:



json.sąvartynai(objektas,įtrauka=Nė vienas,sort_keys=Netiesa)

Šis metodas turi daug pasirenkamų argumentų. Šiame straipsnyje parodytas vieno privalomo ir dviejų neprivalomų argumentų naudojimas. Čia pirmasis argumentas yra privalomas argumentas, naudojamas bet kuriam žodyno objektui paimti, antrasis argumentas naudojamas įterpimo vienetų skaičiui apibrėžti, o trečiasis - raktams rūšiuoti.



json.dump () metodas:

Šis metodas naudojamas python objektui saugoti JSON faile. Jis yra greitesnis nei sąvartynai () metodas, nes jis įrašo į atmintį ir failą atskirai.





Sintaksė:

json.sąvartynas(žodynas,fileHandler,įtrauka=Nė vienas)

Šis metodas turi daug argumentų, tokių kaip sąvartynai () . Šiame straipsnyje naudojami trys argumentai žodyno objekto duomenims konvertuoti į JSON duomenis ir išsaugoti duomenis į JSON failą. Čia pirmasis argumentas naudojamas žodyno objektui, kurį reikia konvertuoti į JSON objektą, paimti, o antrasis argumentas naudojamas failo, kuriame bus įrašyti JSON duomenys, failo tvarkytojo pavadinimui. Trečias argumentas naudojamas įtraukos vienetui nustatyti.



Žemiau šiame straipsnyje parodyta, kaip šie du metodai gali būti naudojami žodyno objektui konvertuoti į JSON failą arba JSON eilutę.

1 pavyzdys: konvertuokite žodyną į JSON naudodami sąvartynai () su įdubimu

Anksčiau buvo paminėta, kad metodas dump () turi vieną privalomą parametrą ir gali prireikti žodyno objekto, kad duomenys būtų paversti JSON eilute. Toliau pateiktame scenarijuje dict_data yra žodyno kintamasis, kuriame yra konkretaus studento įrašo duomenys. Iš pradžių, sąvartynai () metodas naudojamas su vienu argumentu ir reikšme dict_data yra konvertuojamas į JSON duomenis. Tiek žodyno, tiek JSON formato išvestis yra ta pati, jei JSON duomenyse nenaudojama įtrauka. Kitas, sąvartynai () metodas naudojamas su dviem argumentais, o 3 - kaip įtraukos reikšmė JSON duomenims. Antroji JSON išvestis generuojama su įterpimu.

#!/usr/bin/env python3
# Importuoti „json“ modulį
importasjson

# Apibrėžkite žodyną
dict_data= { 'Studento pažymėjimas':„011894“, 'vardas':„Matas“, 'partija':30, 'semestras':6 }
# Spausdinkite žodyno duomenis
spausdinti(„Dictonary išėjimas: n',dict_data, ' n')

# Konvertuokite žodyną į „json“ objektą be įtraukos
json_data=json.sąvartynai(dict_data)
# spausdinti json duomenis
spausdinti(„JSON išvestis be įtraukos: n',json_data, ' n')

# Konvertuokite žodyną į „json“ objektą su įterpimu
json_data=json.sąvartynai(dict_data,įtrauka=3)
# spausdinti json duomenis su įterpimu
spausdinti(„JSON išvestis su įterpimu: n',json_data)

Išėjimas:

Paleidus scenarijų pasirodys ši išvestis.

2 pavyzdys: konvertuokite žodyną į JSON naudodami sąvartynus () su sort_keys

JSON duomenų raktus galima rūšiuoti naudojant sort_keys sąvartynų argumentas (). Numatytoji šio argumento vertė yra klaidinga. Šiame scenarijuje žodyno objektas konvertuojamas į JSON duomenis nenaudojant sort_keys ir naudojant sort_keys parodyti šio argumento naudojimą. Pirmasis sąvartynų () metodas naudojamas su 5 įtraukos verte, o išvestis rodo JSON duomenis, naudojant 5 įtrauką. Antruoju sąvartynų () metodu yra naudojami rūšiavimo raktai, kurie rūšiuojant pagrindines reikšmes yra „True“. Paskutinis JSON išvestis rodys duomenis surūšiavus pagrindines vertes.

#!/usr/bin/env python3
# Importuoti „json“ modulį
importasjson

# Apibrėžkite žodyną
dict_data= {'vardas':„Madisonas“,„Mėnuo“:'Gegužė','metai':2020 m,'pardavimas':[1000, 2100, 3500, 1200]}
# Spausdinkite žodyno duomenis
spausdinti(„Dictonary išėjimas: n',dict_data, ' n')

# Konvertuokite žodyną su sąrašo duomenimis į json
json_data=json.sąvartynai(dict_data,įtrauka= 5)
# spausdinti json duomenis
spausdinti(„JSON išvestis su įterpimu: n',json_data)

# Konvertuokite žodyną su sąrašo duomenimis į json, rūšiuodami klavišus
json_data=json.sąvartynai(dict_data,įtrauka= 5,sort_keys= Tiesa)
# spausdinkite surūšiuotus „json“ duomenis pagal raktus
spausdinti(„Rūšiuota JSON išvestis su įterpimu: n',json_data)

Išėjimas:

Paleidus scenarijų pasirodys ši išvestis. Pirmasis JSON išėjimas rodo pagrindines reikšmes, kaip apibrėžta žodyne, o antrasis JSON išvestis rodo pagrindines vertes surūšiuota tvarka.

3 pavyzdys: konvertuokite žodyną į JSON duomenis ir išsaugokite jį JSON faile

Jei norite konvertuoti iš žodyno JSON duomenis į failą, turite naudoti sąvartynas () metodas. Šiame pavyzdyje parodyta, kaip žodyno objektą galima paversti JSON duomenimis ir saugoti duomenis JSON faile. Čia, sąvartynas () metodas naudoja tris argumentus. Pirmasis argumentas apima žodyno objektą, kuris buvo apibrėžtas anksčiau. Antrasis argumentas naudoja failų tvarkyklės kintamąjį, kuris taip pat buvo apibrėžtas anksčiau, kad sukurtų JSON failą. Trečias argumentas apibrėžia įdubimo vertę. Naujai parašyto JSON turinys vėliau bus išspausdintas kaip išvestis.

#!/usr/bin/env python3
# Importuoti „json“ modulį
importasjson

# Apibrėžkite žodyną
dict_data= { „c-101“:„PHP programavimas“, „c-102“:„Bash“ programavimas, „c-103“:
„Python“ programavimas,
„c-104“:'Objektinis programavimas' }
# Spausdinkite žodyno duomenis
spausdinti(„Dictonary išėjimas: n',dict_data, ' n')

# Nustatykite „json“ failo pavadinimą
jsonFile= 'course_list.json'
# Atidarykite „json“ failą, kad galėtumėte rašyti „json“ duomenis
su atviras(jsonFile, 'in') kaipfileHandler1:
json.sąvartynas(dict_data,fileHandler1,įtrauka= 2)

# Atidarykite „json“ failą skaitymui
fileHandler2= atviras(jsonFile)
spausdinti(„JSON failo turinys: n',fileHandler2.skaityti())

Išėjimas:

Paleidus scenarijų pasirodys ši išvestis.

Išvada:

Norint palengvinti įvairias programavimo užduotis, reikia žodyno duomenis paversti JSON duomenimis. Šis duomenų konvertavimas yra svarbus, nes naudojant JSON duomenys gali būti lengvai perkeliami iš vieno scenarijaus į kitą. Tikiuosi, kad ši pamoka padės „Python“ vartotojams žinoti, kaip žodyno duomenis paversti JSON duomenimis ir tinkamai pritaikyti savo scenarijuje.