Tietoa henkilöstä JSON
JSON (JavaScript Object Notation) on tiedostomuoto ja tietojen tallennusstandardi, joka käyttää avainarvopareja tietojen tallentamiseen ja vaihtamiseen. Se on yleisimmin käytetty tiedonsiirtomuoto, jota nähdään usein RESTful-sovellusliittymissä, kevyissä tietokannoissa, määritystiedostoissa ja muissa offline- tai online-ohjelmistoissa, joiden on tallennettava, haettava ja vaihdettava tietoja. Useimmat ohjelmointikielet sisältävät kirjastot JSON-tietojen jäsentämiseksi ja kirjoittamiseksi oletuksena ja JSON on ohjelmointikielen agnostinen datamuoto. JSON-tiedostoon tai hyötykuormaan tallennetut arvot sisältävät yleensä merkkijonoja, numeroita ja sarjoitettavia tietotyyppejä, kuten luetteloita (taulukot).
JSON- ja Python-sanakirjat
Pythonin JSON-tiedot muunnetaan sanakirjaobjektiksi “load” -menetelmää käyttäen. Usein nähdään, että jotkut rinnastavat json-datan ja python-sanakirjan, koska niiden molempien määrittelyn syntaksit ovat lähes samat. Json-data ei kuitenkaan ole muuta kuin jäykkään syntaksiin rakennettu tekstimerkkijono, kun taas python-sanakirja on muistiin tallennettu tietorakenneobjekti. Jos haluat tallentaa sanakirjatietoja tekstitiedostoon tai lähettää ne muuhun kuin python-ohjelmaan, sinun on ensin muunnettava se tekstimerkkijonoksi (tavuina). Tätä tyhjennettyä / muunnettua tekstimerkkijonoa määritellään JSON: n vakiosyntaksissa, ja python-sanakirjan muuntamista Json-yhteensopivaksi merkkijonoksi kutsutaan sarjallisuudeksi.
JSON-tietojen lukeminen ja tyhjentäminen Pythonissa
JSON-tiedot voidaan hakea vastauksena palvelimelta, lukea tiedostosta, leikata URL-kyselyparametreista ja niin edelleen. Tämä artikkeli keskittyy lähinnä Json-tietojen lukemiseen paikallisesti tallennetusta tiedostosta. Oletetaan, että ”testi.json ”-tiedosto sisältää seuraavat tiedot:
"koodinimi": "Eoan Ermine", "versio": "Ubuntu 19.10 "Testin lukeminen.json-tiedosto pythonissa, voit käyttää alla olevaa koodia:
tuo jsonavoimen kanssa ("testi.json ") kuten f:
data = json.kuormitus (f)
dump = json.kaatopaikat (data)
tulosta (data)
tulosta (tyyppi (tiedot))
tulosta (dump)
tulosta (tyyppi (dump))
Yllä olevan koodin ensimmäinen rivi tuo json-moduulin. Seuraavalla rivillä "auki" käytetään tiedoston sisällön turvalliseen lukemiseen. “Avoinna” -lohkossa ”json.Lataa ”-menetelmää käytetään tiedostojen sisällön lukemiseen ja tallentamiseen” data ”-muuttujaan. Edellisessä vaiheessa ladatut tiedot muunnetaan takaisin json-merkkijonoksi käyttämällä “json.dump ”-menetelmä. Yllä olevan koodin suorittaminen näyttää seuraavan tuloksen:
'koodinimi': 'Eoan Ermine', 'versio': 'Ubuntu 19.10 '"koodinimi": "Eoan Ermine", "versio": "Ubuntu 19.10 "
Huomaa yllä olevassa lähdössä, että ”json.Lataa ”-menetelmä lukee raakaa json-dataa python-sanakirjaan, kun taas” json.kaatopaikat ”-menetelmät muuntaa sanakirjan merkkijonoksi, joka on yhteensopiva JSON-rakenteen kanssa. Kun JSON-objekti on muunnettu python-sanakirjaobjektiksi, voit käyttää tietoja sisäänrakennetuilla python-sanakirjamenetelmillä. Yllä oleva esimerkki on melko yksinkertainen eikä sisällä taulukoita JSON-tiedoissa tai sisäkkäisissä arvoissa. Pythonissa voit kuitenkin käsitellä näitä arvoja kuten muita sisäkkäisiä sanakirjoja ja luetteloita.
JSON-tietojen lajittelu ja aikainen tulostus
"Json.dump ”-menetelmä tukee joitain valinnaisia parametreja avainten lajittelussa ja tuotoksen kauniissa tulostuksessa luettavuuden parantamiseksi.
tuo jsonavoimen kanssa ("testi.json ") muodossa f:
data = json.kuormitus (f)
dump = json.kaatopaikat (data, sort_keys = True, sisennys = 4)
tulosta (dump)
Yllä oleva koodi näyttää seuraavan lähdön:
"koodinimi": "Eoan Ermine",
"version": "Ubuntu 19.10 "
Tietotyypin tulokset
Alla oleva luettelo kuvaa, kuinka JSON-arvot muunnetaan python-objekteiksi ja päinvastoin.
JSON | Python |
merkkijono | str |
määrä | int tai kellua |
totta, väärä | Totta, väärä |
tyhjä | Ei mitään |
taulukko | lista |
esine | sanella |
Json.työkalun komentorivimoduuli
Python sisältää mukavan komentorivi-apuohjelman “json.työkalu ”, jota voidaan käyttää JSON-merkkijonojen ja tiedostojen varmennukseen ja kauniiseen tulostamiseen.
$ echo '"koodinimi": "Eoan Ermine", "versio": "Ubuntu 19.10 " '| python3 -m json.työkaluYllä olevan komennon suorittaminen näyttää seuraavan tuloksen:
"koodinimi": "Eoan Ermine",
"version": "Ubuntu 19.10 "
Voit käyttää myös jsonia.työkalu JSON-tiedostoilla. Korvaa alla olevat komennot ”in_file” ja “out_file” haluamillasi arvoilla:
$ python3 -m json.työkalu tiedostossa_tiedostoMuu kuin kaunis tulostus, JSON-tietojen lajittelu ja validointi, Json.työkalu ei tee mitään muuta. Joten jos haluat käsitellä mitä tahansa JSON-dataa, sinun on kirjoitettava oma mukautettu koodi sisäänrakennetun JSON-moduulin avulla.