Serialisointi ja deserialisaatio
Python-objekti muuntuu JSON-objektiksi käyttämällä sarjoitusta ja JSON-objekti kääntyy Python-objektiksi deserialisoinnin avulla. Seuraava taulukko osoittaa, kuinka 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ä |
taulukko | luettelo, kaksinkertainen |
esine | sanella |
tyhjä | ei mitään |
Menetelmät:
load (): Tätä menetelmää käytetään tietojen lataamiseen JSON-tiedostosta python-saneluun.
Loads (): 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.
dumps (): Tätä menetelmää käytetään tietojen lataamiseen python-sanakirjasta JSON-muuttujaan.
JSON-tietojen lukeminen Pythonilla
JSON-tiedot voidaan jäsentää ja käsitellä eri tavoin Python-komentosarjan avulla. Kuinka erityyppisiä JSON-tietoja voidaan jäsentää, näytetään tässä osassa käyttämällä erilaisia Python-esimerkkejä. Luo yksinkertainen Json-tiedosto nimeltä opiskelija-.json seuraavilla tiedoilla tämän opetusohjelman komentosarjojen testaamiseksi.
["ID": "1110978", "Nimi": "Alif al Razi", "Erä": "34", "Lukukausi": "8","Osasto": "täsmähakukone",
"ID": "2220998", "Nimi": "Nusrat Faria", "Erä": "23", "Lukukausi": "9",
"Osasto": "BBA",
"ID": "1118934", "Nimi": "Emran Hossain", "Erä": "33", "Lukukausi": "7",
"Osasto": "täsmähakukone",
"ID": "4448934", "Nimi": "Rehana Akter", "Erä": "41", "Lukukausi": "10",
"Osasto": "ENG",
"ID": "11107745", "Nimi": "Saif Ali", "Erä": "39", "Lukukausi": "5",
"Osasto": "täsmähakukone"]
Esimerkki 1: Lue ja tulosta JSON-tiedosto JSON-muodossa
Luo python-tiedosto nimeltä json1.py seuraavalla komentosarjalla. JSON-moduulia käytetään kaikkien JSON-tietojen lukemiseen python-komentosarjalla. avata() menetelmää käytetään lukemiseen opiskelija-.json tiedosto ja ladata() menetelmää käytetään tietojen tallentamiseen muuttujaan, tiedot.
# Tuo JSON-moduulituo json
# Avaa nykyinen JSON-tiedosto muuttujaan lataamista varten
avoimen kanssa ('opiskelija.json ') as f:
data = json.kuormitus (f)
# Tulosta JSON-tiedot
tulosta (data)
Tuotos:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 2: JSON-tiedoston tietojen lukeminen ja jäsentäminen Python-sanelun avulla
JSON-tiedot voidaan tallentaa mihin tahansa python-sanakirjamuuttujaan, jotta jokainen ominaisuusarvo voidaan käsitellä helposti myöhemmin. Luo python-komentosarja nimeltä json2.py seuraavalla koodilla. Aikaisemmin luotua json-tiedostoa käytetään tässä. Kun data on ladattu sanakirjaan, jokaisen tietueen kukin ominaisuusarvo tulostetaan käyttämällä ominaisuuden nimeä.
# Tuo Json-moduulituo json
# Avaa nykyinen json-tiedosto muuttujaan lataamista varten
avoimen kanssa ('opiskelija.json ',' r ') kuten f:
opiskelijat = json.kuormitus (f)
# Tulosta objektin kukin ominaisuus
opiskelijoille opiskelijoille:
tulosta (opiskelija ['Nimi'], ',', opiskelija ['Erä'], 'Erä', ',', Opiskelija [Lukukausi]],
'Lukukausi', ',', opiskelija ['osasto'], 'osasto')
Tuotos:
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 seuraavalla komentosarjalla. JSONdata ilmoitetaan täällä tallentamaan kolmen ominaisuuden JSON-tiedot. kuormat () menetelmää käytetään tässä lataamaan tietoja JSON-muuttujasta. Seuraavaksi kukin ominaisuusarvo ja kaikki omaisuuden nimet tulostavat rivi riviltä päätelaitteessa.
# Tuo Json-moduulituo json
# Määritä Json-tiedot
JSONData = '"Java": "3 krediittiä", "PHP": "2 krediittiä", "C ++": "3 krediittiä"'
# Lataa Json-tiedot muuttujaan
Tallennettu data = json.kuormat (JSONData)
# Toista for loop -sarja tulostaaksesi tiedot avaimella
for val in storageata:
tulosta ("% s:% s"% (val, tallennettu data [val]))
Tuotos:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 4: jäsennä JSON-tiedot Python-objektiin
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 seuraavalla komentosarjalla. Tässä, read_data luokkaa käytetään tallentamaan JSON-tietoja objektiin. JSONdata, muuttujaa käytetään luodessa luokan objektia. JSONData-tiedostossa ja ominaisuuden nimen arvossa on kolme ominaisuutta, PHP tulostaa tulosteen.
# Tuo JSON-moduulituo json
# Määritä JSON-tiedot
JSONData = '"Java": "3 krediittiä", "PHP": "2 krediittiä", "C ++": "3 krediittiä"'
# Ilmoita luokka tallentamaan JSON-tiedot python-sanakirjaan
class read_data (objekti):
def __init __ (itse, jdata):
itse.__dict__ = json.kuormat (jdata)
# Määritä luokan esine
p_object = lukutiedot (JSONData)
# Tulosta tietyn ominaisuuden arvo
tulosta (p_objekti.PHP)
Tuotos:
PHP-ominaisuuden arvo on '2 krediittiä'. Joten seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Esimerkki 5: Python-sanelun muuntaminen JSON-tiedoksi
JSON-tiedot tallennetaan edellisten esimerkkien Python-sanakirjaan tai objektiin, mutta python-sanakirjan tiedot voidaan myös tallentaa JSON-muuttujaan. Luo tiedosto nimeltä json5.py seuraavalla komentosarjalla. Tiedot tallennetaan sanakirjamuuttujaan, customerDict. kaatopaikat () menetelmää käytetään tässä muuntamaan tiedot sanakirjamuuttujasta JSON-muuttujaksi, jsonObject. Seuraavaksi JSON-muuttujan arvo tulostetaan tulosteena.
# Tuo JSON-moduulituo json
# Ilmoita python-sanakirja
customerDict = 'nimi': 'John', 'type': 'kulta', 'ikä': 35
# Lataa tiedot sanakirjasta JSON-objektiin
jsonData = json.kaatopaikat (customerDict)
# Tulosta JSON-objekti
tulosta (jsonData)
Tuotos:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Päätelmä:
JSON-datamuotoa tukevat monet ohjelmointikielet. JSON-muunnos Pythoniksi ja python JSON-tiedoiksi selitetään tässä opetusohjelmassa käyttämällä erilaisia python-esimerkkejä. Voit suorittaa minkä tahansa tyyppisen datan muunnoksen python-objektista JSON-objektiksi tai päinvastoin tämän opetusohjelman käyttämisen jälkeen.