JSONin lukeminen ja kirjoittaminen tiedostoon Pythonissa
JSON:n täysi muoto on Javascript Object Notation. Se tarkoittaa, että tietojen tallentamiseen ja siirtämiseen käytetään komentosarjatiedostoa (suoritettavaa) tiedostoa, joka on tehty ohjelmointikielen tekstistä. Python tukee JSON:ia sisäänrakennetun JSON-nimisen paketin kautta. Tämän ominaisuuden käyttämiseksi tuomme JSON-paketin Python-komentosarjassa. JSON-teksti tehdään lainausmerkkijonon kautta, joka sisältää arvon avainarvomappauksessa { } -alueella. Se on samanlainen kuin sanakirja Pythonissa .
JSONin kirjoittaminen tiedostoon Pythonissa
Serializing JSON viittaa tietojen muuntamiseen tavusarjaksi (siis sarjaksi), joka tallennetaan tai lähetetään verkon kautta. Pythonin JSON-kirjasto käyttää tiedoston tietovirran käsittelemiseen kaatopaikka () tai kaatopaikat () -toiminto muuntaa Python-objektit vastaaviksi JSON-objektikseen, joten se helpottaa tietojen kirjoittamista tiedostoihin. Katso alla oleva taulukko.
| PYTHON OBJEKTI | JSON-OBJEKTI |
|---|---|
| Dict | esine |
| lista, tuple | joukko |
| str | merkkijono |
| int, pitkä, kellua | numeroita |
| Totta | totta |
| Väärä | väärä |
| Ei mitään | tyhjä |
Tapa 1: JSONin kirjoittaminen tiedostoon Pythonissa käyttämällä json.dumps()
Pythonin JSON-paketissa on funktio nimeltä json.dumps(), joka auttaa muuttamaan sanakirjan JSON-objektiksi. Se vaatii kaksi parametria:
- sanakirja – sanakirjan nimi, joka tulee muuntaa JSON-objektiksi. sisennys – määrittää sisennyksen yksiköiden määrän
Kun olet muuttanut sanakirjan JSON-objektiksi, kirjoita se tiedostoon kirjoitustoiminnolla.
Python 3
import> json> # Data to be written> dictionary> => {> > 'name'> :> 'sathiyajith'> ,> > 'rollno'> :> 56> ,> > 'cgpa'> :> 8.6> ,> > 'phonenumber'> :> '9976770500'> }> # Serializing json> json_object> => json.dumps(dictionary, indent> => 4> )> # Writing to sample.json> with> open> (> 'sample.json'> ,> 'w'> ) as outfile:> > outfile.write(json_object)> |
Lähtö:
Tapa 2: Kirjoita JSON tiedostoon Pythonissa käyttämällä json.dump()
Toinen tapa kirjoittaa JSON tiedostoon on käyttää json.dump()-menetelmää. JSON-paketissa on dump-toiminto, joka kirjoittaa sanakirjan suoraan JSON-muodossa olevaan tiedostoon ilman, että sitä tarvitsee muuntaa todelliseksi JSON-objektiksi. Se vaatii 2 parametria:
- sanakirja – sanakirjan nimi, joka tulee muuntaa JSON-objektiksi. tiedostoosoitin – kirjoitus- tai lisäystilassa avatun tiedoston osoitin.
Python 3
# Python program to write JSON> # to a file> import> json> # Data to be written> dictionary> => {> > 'name'> :> 'sathiyajith'> ,> > 'rollno'> :> 56> ,> > 'cgpa'> :> 8.6> ,> > 'phonenumber'> :> '9976770500'> }> with> open> (> 'sample.json'> ,> 'w'> ) as outfile:> > json.dump(dictionary, outfile)> |
Lähtö:
JSON lukeminen tiedostosta Pythonilla
Deserialisointi on serialisoinnin vastakohta, eli JSON-objektien muuntaminen vastaaviksi Python-objekteiksi. Siihen käytetään load()-menetelmää. Jos olet käyttänyt JSON-tietoja toisesta ohjelmasta tai hankkinut sen JSON-merkkijonomuodossa, se voidaan helposti deserialisoida komennolla load(), jota käytetään yleensä lataukseen merkkijonosta, muuten juuriobjekti on listassa tai Dict.
JSON-tiedoston lukeminen tiedostosta käyttämällä json.load()
JSON-paketissa on json.load()-funktio, joka lataa JSON-sisällön JSON-tiedostosta sanakirjaan. Se vaatii yhden parametrin:
- Tiedostoosoitin: Tiedostoosoitin, joka osoittaa JSON-tiedostoon.
Python 3
import> json> # Opening JSON file> with> open> (> 'sample.json'> ,> 'r'> ) as openfile:> > # Reading from json file> > json_object> => json.load(openfile)> print> (json_object)> print> (> type> (json_object))> |
Lähtö: