Paano i-convert ang diksyunaryo sa JSON sa python

How Convert Dictionary Json Python



Si JSON Ang (JavaScript Object Notation) ay isang tanyag na format ng file upang maipakita ang nakaayos na data at madaling ilipat ang data sa pagitan ng server at ng application. Ang istraktura ng file na ito ay katulad ng ilang mga bagay sa Python tulad ng listahan, tuple, at diksyunaryo. Maaari mong i-convert ang anumang object ng diksiyansa sa ang JSON bagay sa pamamagitan ng paggamit magtapon () at dumps () pamamaraan ng ang json modyul Ipinapakita ng artikulong ito ang mga paraan upang mai-convert ang anumang object ng diksyonaryo sa bagay na JSON sa sawa.

json.dumps () na pamamaraan:

Ginagamit ang pamamaraang ito upang mai-convert ang bagay ng diksiyaryo sa data ng JSON para sa pag-parse o pagbabasa at mas mabagal ito kaysa sa magtapon () pamamaraan







Syntax:



jsonnagtatapon(bagay,indent=Wala,sort_keys=Mali)

Ang pamamaraang ito ay may maraming mga opsyonal na argumento. Ang mga paggamit ng isang sapilitan at dalawang mga opsyonal na argumento ay ipinapakita sa artikulong ito. Dito, ang unang argumento ay isang ipinag-uutos na argumento na ginagamit upang kumuha ng anumang object ng diksyonaryo, ang pangalawang argument ay ginagamit upang tukuyin ang bilang ng mga unit para sa indentation at ang pangatlong argumento ay ginagamit upang pag-uri-uriin ang mga key.



json.dump () na pamamaraan:

Ang pamamaraang ito ay ginagamit upang mag-imbak ng bagay na sawa sa isang file na JSON. Mas mabilis ito kaysa sa dumps () pamamaraan sapagkat nagsusulat ito sa memorya at ang file nang magkahiwalay.





Syntax:

jsonmagtapon(diksyonaryo,fileHandler,indent=Wala)

Ang pamamaraang ito ay may maraming mga argumento tulad dumps () . Ang mga paggamit ng tatlong mga argumento ay ginagamit sa artikulong ito upang mai-convert ang data ng isang bagay sa diksyonaryo sa data ng JSON at maiimbak ang data sa isang JSON file. Dito, ang unang argumento ay ginagamit upang kumuha ng isang object ng diksyonaryo na kailangang i-convert sa isang object na JSON, at ang pangalawang argument ay ginagamit upang kunin ang pangalan ng file handler ng file kung saan isusulat ang data ng JSON. Ginamit ang pangatlong argumento upang maitakda ang yunit ng indentation.



Paano magagamit ang dalawang pamamaraang ito upang mai-convert ang bagay ng diksiyente sa isang JSON file o JSON string ay ipinapakita sa ibaba ng artikulong ito.

Halimbawa-1: I-convert ang diksyunaryo sa JSON gamit dumps () may indentation

Nabanggit ito dati na ang dumps () na pamamaraan ay may isang ipinag-uutos na parameter at maaari nitong kunin ang object ng diksiyaryo upang mai-convert ang data sa JSON string. Sa sumusunod na script, dict_data ay isang variable ng diksyunaryo na naglalaman ng data ng isang partikular na tala ng mag-aaral. Sa simula, ang dumps () ginagamit ang pamamaraan sa isang argumento at ang halaga ng dict_data ay ginawang data ng JSON. Ang output ng parehong diksyunaryo at JSON format ay pareho kung walang indentation na ginamit sa data ng JSON. Susunod, ang dumps () Ang pamamaraan ay ginagamit ng dalawang mga argumento, at ang 3 ay ginagamit bilang isang halaga ng indentation para sa data ng JSON. Ang pangalawang output ng JSON ay bubuo na may indentation.

#! / usr / bin / env python3
# Mag-import ng json module
angkatjson

# Tukuyin ang isang diksyunaryo
dict_data= { 'estudyante_id':'011894', 'pangalan':'Mateo', 'batch':30, 'semestre':6 }
# I-print ang data ng diksyunaryo
mag-print('Dictonary Output: n',dict_data, ' n')

# I-convert ang diksyunaryo sa json object nang walang pag-indentation
json_data=jsonnagtatapon(dict_data)
# print data json
mag-print('JSON Output nang walang indentation: n',json_data, ' n')

# I-convert ang diksyunaryo sa json object na may indentation
json_data=jsonnagtatapon(dict_data,indent=3)
# print json data na may indentation
mag-print('JSON Output na may indentation: n',json_data)

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script.

Halimbawa-2: I-convert ang diksyunaryo sa JSON gamit ang mga dump () na may mga sort_keys

Ang mga susi ng data ng JSON ay maaaring ayusin sa pamamagitan ng paggamit sort_keys pagtatalo ng mga pagtatapon (). Ang default na halaga ng argument na ito ay Mali. Sa sumusunod na script, ang object ng diksyunaryo ay na-convert sa data ng JSON nang hindi ginagamit sort_keys at gamit sort_keys upang ipakita ang paggamit ng argument na ito. Ang unang dumps () na pamamaraan ay ginagamit na may indent na halaga 5 at Ipinapakita ng output ang data ng JSON gamit ang indentation 5. Sa pangalawang dumps () na pamamaraan, ang mga sort_key ay ginagamit at itinakda sa True para sa pag-uuri ng mga pangunahing halaga. Ipapakita ng huling output ng JSON ang data pagkatapos ay pag-uuri-uriin ang mga pangunahing halaga.

#! / usr / bin / env python3
# Mag-import ng json module
angkatjson

# Tukuyin ang isang diksyunaryo
dict_data= {'pangalan':'Madison','Buwan':'Mayo','taon':2020,'benta':[1000, 2100, 3500, 1200]}
# I-print ang data ng diksyunaryo
mag-print('Dictonary Output: n',dict_data, ' n')

# I-convert ang isang diksyunaryo na may listahan ng data sa json
json_data=jsonnagtatapon(dict_data,indent= 5)
# print data json
mag-print('JSON Output na may indentation: n',json_data)

# I-convert ang isang diksyunaryo na may listahan ng data sa json sa pamamagitan ng pag-uuri ng mga key
json_data=jsonnagtatapon(dict_data,indent= 5,sort_keys= Totoo)
# print sorted json data batay sa mga key
mag-print(Pinagbukud-bukod na Output ng JSON na may indentation: n',json_data)

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Ang unang output ng JSON ay nagpapakita ng mga pangunahing halaga tulad ng tinukoy sa diksyunaryo at ang pangalawang output ng JSON ay nagpapakita ng mga pangunahing halaga sa pinagsunod-sunod na pagkakasunud-sunod.

Halimbawa-3: I-convert ang diksyunaryo sa data ng JSON at iimbak sa isang JSON file

Kung nais mong iimbak ang data ng JSON sa isang file pagkatapos mag-convert mula sa diksyunaryo pagkatapos ay kailangan mong gamitin ang basura () pamamaraan Paano mo mai-convert ang isang bagay sa diksyonaryo sa isang data ng JSON at maiimbak ang data sa isang file na JSON ay ipinapakita sa halimbawang ito. Narito, ang magtapon () ang pamamaraan ay gumagamit ng tatlong mga argumento. Kinukuha ng unang argumento ang bagay ng diksiyon na tinukoy dati. Kinukuha ng pangalawang argument ang variable ng handler ng file na tinukoy din dati upang lumikha ng isang JSON file. Tinukoy ng pangatlong argument ang halaga ng indentation. Ang nilalaman ng bagong nakasulat na JSON ay mai-print sa paglaon bilang output.

#! / usr / bin / env python3
# Mag-import ng json module
angkatjson

# Tukuyin ang isang diksyunaryo
dict_data= { 'c-101':'PHP Programming', 'c-102':'Bash Programming', 'c-103':
'Python Programming',
'c-104':'Programmed oriented Programming' }
# I-print ang data ng diksyunaryo
mag-print('Dictonary Output: n',dict_data, ' n')

# Itakda ang json filename
jsonFile= 'course_list.json'
# Magbukas ng json file para sa pagsusulat ng data ng json
kasama si buksan(jsonFile, 'sa') bilangfileHandler1:
jsonmagtapon(dict_data,fileHandler1,indent= 2)

# Magbukas ng json file para mabasa
fileHandler2= buksan(jsonFile)
mag-print('Ang nilalaman ng JSON file: n',fileHandler2.basahin())

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script.

Konklusyon:

Kinakailangan na itago ang data ng diksyonaryo sa data ng JSON upang gawing mas madali ang iba't ibang mga gawain sa programa. Mahalaga ang conversion ng data na ito dahil ang data ay maaaring ilipat mula sa isang script sa isa pang script nang madali sa pamamagitan ng paggamit ng JSON. Inaasahan ko, makakatulong ang tutorial na ito sa mga gumagamit ng python na malaman ang mga paraan upang mai-convert ang data ng diksiyamento sa data ng JSON at mailapat ang mga ito nang maayos sa kanilang script.