Kuinka muuntaa sanakirja JSONiksi pythonissa

How Convert Dictionary Json Python

JSON (JavaScript Object Notation) on suosittu tiedostomuoto, joka esittää strukturoidun datan ja siirtää tiedot helposti palvelimen ja sovelluksen välillä. Tämän tiedoston rakenne on samanlainen kuin jotkut Python -objektit, kuten lista, tuple ja sanakirja. Voit muuntaa minkä tahansa sanakirjaobjektin osaksi JSON objekti käyttämällä kaatopaikka () ja kaatopaikat () menetelmiä json moduuli. Tämä artikkeli näyttää tapoja muuntaa sanakirjaobjekti pythonin JSON -objektiksi.

json.dumps () -menetelmä:

Tätä menetelmää käytetään sanakirjaobjektin muuntamiseen JSON -dataksi jäsentämistä tai lukemista varten, ja se on hitaampi kuin kaatopaikka () menetelmä.



Syntaksi:



json.kaatopaikkoja(esine,sisennys=Ei mitään,sort_keys=Väärä)

Tällä menetelmällä on monia valinnaisia ​​argumentteja. Tässä artikkelissa esitetään yhden pakollisen ja kahden valinnaisen argumentin käyttö. Tässä ensimmäinen argumentti on pakollinen argumentti, jota käytetään minkä tahansa sanakirjaobjektin ottamiseen, toista argumenttia käytetään sisennyksen yksiköiden lukumäärän määrittämiseen ja kolmatta argumenttia käytetään avainten lajitteluun.



json.dump () -menetelmä:

Tätä menetelmää käytetään python -objektin tallentamiseen JSON -tiedostoon. Se on nopeampi kuin kaatopaikat () menetelmä, koska se kirjoittaa muistiin ja tiedostoon erikseen.

Syntaksi:

json.kaatopaikka(sanakirja,fileHandler,sisennys=Ei mitään)

Tällä menetelmällä on monia argumentteja, kuten kaatopaikat () . Tässä artikkelissa on käytetty kolmea argumenttia sanakirjaobjektin tietojen muuntamiseen JSON -dataksi ja tietojen tallentamiseksi JSON -tiedostoksi. Tässä ensimmäistä argumenttia käytetään ottamaan sanakirjaobjekti, joka on muunnettava JSON -objektiksi, ja toista argumenttia käytetään ottamaan sen tiedoston tiedostonkäsittelijän nimi, johon JSON -tiedot kirjoitetaan. Kolmatta argumenttia käytetään sisennysyksikön asettamiseen.



Tämän artikkelin alla on esitetty, kuinka näitä kahta menetelmää voidaan käyttää sanakirjaobjektin muuntamiseen JSON -tiedostoksi tai JSON -merkkijonoksi.

Esimerkki 1: Muunna sanakirja JSON-muotoon käyttämällä kaatopaikat () sisennyksellä

Aiemmin on mainittu, että dumps () -menetelmällä on yksi pakollinen parametri ja se voi viedä sanakirjaobjektin muuntaa tiedot JSON -merkkijonoksi. Seuraavassa skriptissä dict_data on sanakirjamuuttuja, joka sisältää tietyn opiskelijarekisterin tiedot. Ensiksi, kaatopaikat () menetelmää käytetään yhdellä argumentilla ja arvon dict_data muunnetaan JSON -dataksi. Sekä sanakirjan että JSON -muodon tulosteet ovat samat, jos JSON -tiedoissa ei käytetä sisennystä. Seuraava, kaatopaikat () menetelmää käytetään kahden argumentin kanssa ja 3 käytetään sisennysarvona JSON -tiedoille. Toinen JSON -lähtö tuottaa sisennyksen.

#!/usr/bin/env python3
# Tuo json -moduuli
tuontijson

# Määritä sanakirja
dict_data= { 'opiskelijanumero':'011894', 'nimi':'Matthew', 'erä':30, 'lukukausi':6 }
# Tulosta sanakirjan tiedot
Tulosta('Dictonary -lähtö: n'',dict_data, '' n'')

# Muunna sanakirja json -objektiksi ilman sisennystä
json_data=json.kaatopaikkoja(dict_data)
# tulosta json -tiedot
Tulosta('' JSON -lähtö ilman sisennystä: n'',json_data, '' n'')

# Muunna sanakirja json -objektiksi sisennyksellä
json_data=json.kaatopaikkoja(dict_data,sisennys=3)
# tulosta json -tiedot sisennyksellä
Tulosta('JSON -ulostulo sisennyksellä: n'',json_data)

Lähtö:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Esimerkki 2: Muunna sanakirja JSON-muotoon käyttämällä kaavioita () ja sort_keys

JSON -tietojen avaimet voidaan lajitella käyttämällä sort_keys argumentti kaatopaikoista (). Tämän argumentin oletusarvo on False. Seuraavassa skriptissä sanakirjaobjekti muunnetaan JSON -dataksi ilman käyttöä sort_keys ja käyttää sort_keys näyttääkseen tämän argumentin käytön. Ensimmäistä kaatopaikka () -menetelmää käytetään sisennysarvon 5 kanssa ja Lähtö näyttää JSON -tiedot sisennyksen 5 avulla. Toisessa kaatopaikka () -menetelmässä käytetään lajittelunäppäimiä ja asetetaan arvoon Tosi avainarvojen lajittelua varten. Viimeinen JSON -ulostulo näyttää tiedot avainarvojen lajittelun jälkeen.

#!/usr/bin/env python3
# Tuo json -moduuli
tuontijson

# Määritä sanakirja
dict_data= {'nimi':'Madison','Kuukausi':'Saattaa','vuosi':2020,'myynti':[1000, 2100, 3500, 1200]}
# Tulosta sanakirjan tiedot
Tulosta('Dictonary -lähtö: n'',dict_data, '' n'')

# Muunna luettelotietoja sisältävä sanakirja jsoniksi
json_data=json.kaatopaikkoja(dict_data,sisennys= 5)
# tulosta json -tiedot
Tulosta('JSON -ulostulo sisennyksellä: n'',json_data)

# Muunna luettelotietoja sisältävä sanakirja jsoniksi lajittelunäppäimillä
json_data=json.kaatopaikkoja(dict_data,sisennys= 5,sort_keys= Totta)
# tulostaa lajiteltuja json -tietoja avainten perusteella
Tulosta('Lajiteltu JSON -ulostulo sisennyksellä: n'',json_data)

Lähtö:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Ensimmäinen JSON -ulostulo näyttää sanakirjassa määritellyt avainarvot ja toinen JSON -ulostulo avainarvot lajitellussa järjestyksessä.

Esimerkki 3: Muunna sanakirja JSON-dataksi ja tallenna JSON-tiedostoksi

Jos haluat tallentaa JSON -tiedot tiedostoksi sanakirjasta muuntamisen jälkeen, sinun on käytettävä kaatopaikka() menetelmä. Tässä esimerkissä näytetään, kuinka voit muuttaa sanakirjaobjektin JSON -dataksi ja tallentaa tiedot JSON -tiedostoon. Tässä, kaatopaikka () menetelmä käyttää kolmea argumenttia. Ensimmäinen argumentti ottaa aiemmin määritellyn sanakirjaobjektin. Toinen argumentti luo aiemmin määritellyn tiedostonkäsittelijän muuttujan JSON -tiedoston luomiseksi. Kolmas argumentti määrittelee sisennyksen arvon. Äskettäin kirjoitetun JSON: n sisältö tulostetaan myöhemmin tulostettuna.

#!/usr/bin/env python3
# Tuo json -moduuli
tuontijson

# Määritä sanakirja
dict_data= { 'c-101':'PHP -ohjelmointi', 'c-102':'Bash -ohjelmointi', 'c-103':
'Python -ohjelmointi',
'c-104':'Olio-ohjelmointi' }
# Tulosta sanakirjan tiedot
Tulosta('Dictonary -lähtö: n'',dict_data, '' n'')

# Aseta json -tiedostonimi
jsonTiedosto= 'course_list.json'
# Avaa json -tiedosto json -tietojen kirjoittamista varten
kanssa avata(jsonTiedosto, 'sisään') kutenfileHandler1:
json.kaatopaikka(dict_data,fileHandler 1,sisennys= 2)

# Avaa json -tiedosto lukemista varten
fileHandler2= avata(jsonTiedosto)
Tulosta('JSON -tiedoston sisältö: n'',fileHandler2.lukea())

Lähtö:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Johtopäätös:

Sanakirjatiedot on peitettävä JSON -tietoiksi eri ohjelmointitehtävien helpottamiseksi. Tämä tietojen muuntaminen on tärkeää, koska tiedot voivat siirtyä komentosarjasta toiseen helposti JSONin avulla. Toivon, että tämä opetusohjelma auttaa python -käyttäjiä tietämään, miten sanakirjatiedot voidaan muuntaa JSON -tietoiksi ja soveltaa niitä oikein komentosarjassaan.