Kuidas teisendada sõnastik pythonis JSONiks

How Convert Dictionary Json Python

JSON (JavaScript Object Notation) on populaarne failivorming struktureeritud andmete esitamiseks ning andmete hõlpsaks edastamiseks serveri ja rakenduse vahel. Selle faili ülesehitus sarnaneb mõne Pythoni objektiga, nagu loend, tuple ja sõnastik. Saate teisendada mis tahes sõnastiku objekti JSON objekti abil prügila () ja prügimäed () meetodid json moodul. See artikkel näitab viise, kuidas teisendada mis tahes sõnastikuobjekt pythonis JSON -objektiks.

json.dumps () meetod:

Seda meetodit kasutatakse sõnastikuobjekti teisendamiseks JSON -i andmeteks parsimiseks või lugemiseks ning see on aeglasem kui prügila () meetod.

Süntaks:



json.prügimäed(objekti,taane=Puudub,sort_keys=Vale)

Sellel meetodil on palju valikulisi argumente. Selles artiklis on näidatud ühe kohustusliku ja kahe valikulise argumendi kasutamine. Siin on esimene argument kohustuslik argument, mida kasutatakse mis tahes sõnastikuobjekti võtmiseks, teist argumenti kasutatakse taandeühikute arvu määramiseks ja kolmandat argumenti võtmete sortimiseks.



json.dump () meetod:

Seda meetodit kasutatakse pythoni objekti salvestamiseks JSON -faili. See on kiirem kui prügimäed () meetodit, sest see kirjutab mällu ja faili eraldi.

Süntaks:

json.prügimäele(sõnaraamat,fileHandler,taane=Puudub)

Sellel meetodil on palju argumente, näiteks prügimäed () . Selles artiklis kasutatakse kolme argumendi kasutamist sõnastikuobjekti andmete teisendamiseks JSON -andmeteks ja andmete salvestamiseks JSON -faili. Siin kasutatakse esimest argumenti sõnastikuobjekti võtmiseks, mis tuleb teisendada JSON -objektiks, ja teist argumenti kasutatakse selle faili failihalduri nime võtmiseks, kuhu JSON -i andmed kirjutatakse. Kolmandat argumenti kasutatakse taandeühiku määramiseks.



Selle artikli all on näidatud, kuidas neid kahte meetodit saab kasutada sõnastikuobjekti teisendamiseks JSON -failiks või JSON -stringiks.

Näide-1: teisendage sõnastik JSON-i abil prügimäed () taandega

Varem on mainitud, et meetodil dumps () on üks kohustuslik parameeter ja see võib võtta sõnastikuobjekti andmete teisendamiseks JSON -stringiks. Järgmises skriptis dict_data on sõnastiku muutuja, mis sisaldab konkreetse õpilasrekordi andmeid. Esiteks, prügimäed () meetodit kasutatakse ühe argumendi ja väärtusega dict_data teisendatakse JSON -andmeteks. Nii sõnastiku kui ka JSON -vormingu väljund on sama, kui JSON -andmetes ei kasutata taanet. Edasi, prügimäed () meetodit kasutatakse kahe argumendiga ja 3 kasutatakse JSON -andmete taandeväärtusena. Teine JSON -väljund genereeritakse taandega.

#!/usr/bin/env python3
# Impordi json -moodul
importjson

# Määratlege sõnastik
dict_data= { 'Õpilase ID':'011894', 'nimi':'Matthew', 'partii':30, 'semester':6 }
# Printige sõnastiku andmed
printida('Dictonary väljund: n',dict_data, ' n')

# Teisendage sõnastik json -objektiks ilma taandeta
json_data=json.prügimäed(dict_data)
# prindi json andmed
printida('JSON -väljund ilma taandeta: n',json_data, ' n')

# Teisendage sõnastik taandusega json -objektiks
json_data=json.prügimäed(dict_data,taane=3)
# prindi json -andmed taandega
printida('JSON väljund taandega: n',json_data)

Väljund:

Pärast skripti käivitamist kuvatakse järgmine väljund.

Näide-2: teisendage sõnastik JSON-i, kasutades prügilaid () koos sort_keys

JSON -i andmete võtmeid saab sortida, kasutades sort_keys prügimägede argument (). Selle argumendi vaikeväärtus on Väär. Järgmises skriptis teisendatakse sõnastikuobjekt JSON -andmeteks ilma seda kasutamata sort_keys ja kasutades sort_keys selle argumendi kasutamise kuvamiseks. Esimest prügikastide () meetodit kasutatakse taande väärtusega 5 ja Väljund näitab JSON -i andmeid, kasutades taanet 5. Teises prügikastide () meetodis kasutatakse sort_keys ja seatakse põhiväärtuste sortimiseks väärtusele True. Viimane JSON -väljund näitab andmeid pärast võtmeväärtuste sortimist.

#!/usr/bin/env python3
# Impordi json -moodul
importjson

# Määratlege sõnastik
dict_data= {'nimi':'Madison','Kuu':'Mai','aasta':2020,'müük':[1000, 2100, 3500, 1200]}
# Printige sõnastiku andmed
printida('Dictonary väljund: n',dict_data, ' n')

# Teisendage loendiandmetega sõnastik jsoniks
json_data=json.prügimäed(dict_data,taane= 5)
# prindi json andmed
printida('JSON väljund taandega: n',json_data)

# Teisendage loendiandmetega sõnastik jsoniks klahvide sorteerimise teel
json_data=json.prügimäed(dict_data,taane= 5,sort_keys= Tõsi)
# printige klahvide põhjal sorteeritud json -andmed
printida('Sorteeritud JSON -väljund koos taandega: n',json_data)

Väljund:

Pärast skripti käivitamist kuvatakse järgmine väljund. Esimene JSON -väljund näitab võtmeväärtusi, nagu on määratletud sõnastikus, ja teine ​​JSON -väljund näitab põhiväärtusi sorteeritud järjekorras.

Näide-3: teisendage sõnastik JSON-andmeteks ja salvestage JSON-failiks

Kui soovite pärast sõnastikust teisendamist JSON -i andmed faili salvestada, peate kasutama prügila () meetod. Selles näites on näidatud, kuidas sõnastikuobjekti teisendada JSON -andmeteks ja andmeid JSON -faili salvestada. Siin, prügila () meetod kasutab kolme argumenti. Esimene argument võtab sõnaraamatu objekti, mis on eelnevalt määratletud. Teine argument võtab failihalduri muutuja, mis on samuti eelnevalt määratletud, JSON -faili loomiseks. Kolmas argument määratleb taande väärtuse. Äsja kirjutatud JSONi sisu trükitakse hiljem väljundina.

#!/usr/bin/env python3
# Impordi json -moodul
importjson

# Määratlege sõnastik
dict_data= { 'c-101':'PHP programmeerimine', 'c-102':'Bashi programmeerimine', 'c-103':
'Pythoni programmeerimine',
'c-104':'Objektile orienteeritud programmeerimine' }
# Printige sõnastiku andmed
printida('Dictonary väljund: n',dict_data, ' n')

# Määrake json -failinimi
jsonFile= 'course_list.json'
# Avage json -fail json -andmete kirjutamiseks
koos lahti(jsonFile, 'sisse') nagufileHandler1:
json.prügimäele(dict_data,fileHandler1,taane= 2)

# Avage lugemiseks json -fail
fileHandler2= lahti(jsonFile)
printida('JSON -faili sisu: n',fileHandler2.loe())

Väljund:

Pärast skripti käivitamist kuvatakse järgmine väljund.

Järeldus:

Erinevate programmeerimisülesannete hõlbustamiseks on vaja sõnastiku andmed JSON -andmeteks varjata. See andmete teisendamine on oluline, kuna JSONi abil saab andmeid ühelt skriptilt teisele hõlpsalt üle kanda. Loodan, et see õpetus aitab pythoni kasutajatel teada saada, kuidas sõnastikuandmeid JSON -andmeteks teisendada ja skriptis õigesti rakendada.