Serialisointi ja deserialisointi
Python -objekti muunnetaan JSON -objektiksi käyttämällä sarjoitusta ja JSON -objekti muuntuu Python -objektiksi deserialisoinnin avulla. Seuraavassa taulukossa esitetään, miten Python -objektit muunnetaan JSON -objekteiksi tai päinvastoin sarjoituksen ja deserialisoinnin aikana.
JSON | Python |
totta | totta |
väärä | väärä |
merkkijono | merkkijono |
määrä | määrä |
matriisi | lista, tuple |
esine | sanella |
tyhjä | ei mitään |
Menetelmät:
load (): Tätä menetelmää käytetään tietojen lataamiseen JSON -tiedostosta python -diktiin.
Kuormitukset (): Tätä menetelmää käytetään tietojen lataamiseen JSON -muuttujasta python -saneluun.
dump (): Tätä menetelmää käytetään tietojen lataamiseen python -sanakirjasta JSON -tiedostoon.
kaatopaikat (): Tätä menetelmää käytetään tietojen lataamiseen python -sanakirjasta JSON -muuttujaan.
JSON -tietojen lukeminen Pythonilla
JSON -tietoja voidaan jäsentää ja käsitellä eri tavoin Python -komentosarjan avulla. Tässä osassa näytetään, kuinka erilaisia JSON -tietoja voidaan jäsentää, käyttämällä erilaisia Python -esimerkkejä. Luo yksinkertainen json -tiedosto nimeltä opiskelija.json seuraavien tietojen avulla testataksesi tämän opetusohjelman komentosarjoja.
[ {'ID': '1110978','Nimi': 'Alif al-Razi','Erä': '3. 4','Lukukausi': '8',
'Osasto': CSE},
{'ID': '2220998','Nimi': 'Nusrat Faria','Erä': '' 2 3 '','Lukukausi': '9',
'Osasto': 'BBA'},
{'ID': '1118934','Nimi': 'Emran Hossain','Erä': '33','Lukukausi': '7',
'Osasto': CSE},
{'ID': '4448934','Nimi': 'Rehana Akter','Erä': '41','Lukukausi': '10',
'Osasto': 'FIN'},
{'ID': '11107745','Nimi': 'Saif Ali','Erä': '39','Lukukausi': '5',
'Osasto': CSE}]
Esimerkki 1: Lue ja tulosta JSON -tiedosto JSON -muodossa
Luo python -tiedosto nimeltä json1.py seuraavan käsikirjoituksen kanssa. JSON -moduulia käytetään kaikkien JSON -tietojen lukemiseen python -komentosarjan avulla. avata() menetelmää käytetään lukemiseen opiskelija.json tiedosto ja ladata() menetelmää käytetään tietojen tallentamiseen muuttujaan, tiedot.
#Tuonti JSONmoduulituonti json
# Avaa olemassa oleva JSON -tiedostovartenlataaminen muuttujaan
auki('student.json')kuten f:
tiedot=json.ladata(f)
# Tulosta JSON -tiedot
Tulosta(tiedot)
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 2: Lue ja jäsennä tiedot JSON -tiedostosta Python -sanelua käyttäen
JSON -tiedot voidaan tallentaa mihin tahansa python -sanakirjamuuttujaan, jotta jokainen ominaisuusarvo voidaan käsitellä helposti myöhemmin. Luo python -komentosarja json2.py seuraavalla koodilla. Tässä käytetään aiemmin luotua json -tiedostoa. Kun tiedot on ladattu sanakirjaan, kunkin tietueen jokainen ominaisuusarvo tulostetaan käyttämällä ominaisuuden nimeä.
#Tuonti jsonmoduulituonti json
# Avaa nykyinen json -tiedostovartenlataaminen muuttujaan
auki('student.json','r')kuten f:
opiskelijat=json.ladata(f)
# Tulosta objektin jokainen ominaisuus
vartenopiskelija opiskelijoissa:
Tulosta(opiskelija-['Nimi'],',',opiskelija['Erä'],'erä',',', opiskelija['Lukukausi'],
'Lukukausi',',',opiskelija['Osasto'],'osasto')
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 3: jäsennä JSON -tiedot
JSON -tiedot voidaan jäsentää mistä tahansa JSON -muuttujasta. Luo tiedosto nimeltä json3.py seuraavan käsikirjoituksen kanssa. JSONData on täällä tallennettu kolmen ominaisuuden JSON -tietojen tallentamiseen. kuormia () menetelmää käytetään tässä tietojen lataamiseen JSON -muuttujasta. Seuraavaksi jokainen ominaisuusarvo, joka sisältää jokaisen ominaisuuden nimen, tulostaa rivi riviltä päätelaitteessa.
#Tuonti jsonmoduulituonti json
# Määritä json -tiedot
JSONData= '{' Java ':' 3 opintopistettä ',' PHP ':' 2 opintopistettä ',' C ++ ':' 3 opintopistettä '}'
# Lataa json -tiedot muuttujaan
tallennetut tiedot=json.kuormia(JSONData)
# Toistavartensilmukka tulostamaan tiedot avaimella
vartenval tallennetuissa tiedoissa:
Tulosta('% s:% s' % (val, tallennetut tiedot[tuntia]))
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 4: jäsennä JSON -tiedot Python -objektiksi
JSON -tiedot tallennetaan python -sanakirjamuuttujaan tämän opetusohjelman kolmessa edellisessä esimerkissä. Tämä esimerkki osoittaa, kuinka voit tallentaa JSON -tietoja mihin tahansa python -objektiin. Luo tiedosto nimeltä json4.py seuraavan käsikirjoituksen kanssa. Tässä, read_data luokkaa käytetään JSON -tietojen tallentamiseen objektiin. JSONData , muuttujaa käytetään luodessa objektia. JSONDatassa on kolme ominaisuutta ja kiinteistön nimen arvo, PHP tulostaa tulosteen.
#Tuonti JSONmoduulituonti json
# Määritä JSON -tiedot
JSONData= '{' Java ':' 3 opintopistettä ',' PHP ':' 2 opintopistettä ',' C ++ ':' 3 opintopistettä '}'
# Julistaaluokkatallentaa JSON -tiedot python -sanakirjaan
luokkaread_data(esine):
def __init__(itse, jdata):
itse .__ dict__=json.kuormia(jdata)
# Määritä kohteenluokka
p_objekti=read_data(JSONData)
# Tulosta tietyn ominaisuuden arvo
Tulosta(p_objekti.PHP)
Lähtö:
PHP -ominaisuuden arvo on 2 krediittiä. Joten seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 5: Python -sanelun muuntaminen JSON -dataksi
JSON -tiedot tallennetaan Python -sanakirjaan tai -objektiin edellisissä esimerkeissä, mutta python -sanakirjan tiedot voidaan tallentaa myös JSON -muuttujaan. Luo tiedosto nimeltä json5.py seuraavan käsikirjoituksen kanssa. Tiedot tallennetaan sanakirjamuuttujaan, asiakasDict. kaatopaikat () menetelmää käytetään tässä muuntamaan tiedot sanakirjamuuttujasta JSON -muuttujaksi, jsonObject . Seuraavaksi tulostetaan JSON -muuttujan arvo.
#Tuonti JSONmoduulituonti json
# Julista python -sanakirja
asiakasDict= {'nimi': 'John','tyyppi': 'kulta','ikä': 35 }
# Lataa tiedot sanakirjasta JSON -objektiin
jsonData=json.kaatopaikkoja(asiakasDict)
# Tulosta JSON -objekti
Tulosta(jsonData)
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Johtopäätös:
Monet ohjelmointikielet tukevat JSON -datamuotoa. JSON: n muuntaminen Pythoniksi ja python JSON -dataksi selitetään tässä opetusohjelmassa käyttämällä erilaisia python -esimerkkejä. Voit suorittaa minkä tahansa tyyppisen datamuunnoksen python -objektista JSON -objektiksi tai päinvastoin tämän opetusohjelman harjoittamisen jälkeen.