Python

Kuinka lukea ja kirjoittaa Json-tiedostoja Pythonissa

Kuinka lukea ja kirjoittaa Json-tiedostoja Pythonissa
Tässä artikkelissa kerrotaan, miten JSON-tiedostoja ja tietoja käsitellään Python-ohjelmointikielellä. Pythonissa on sisäänrakennettu “json” -moduuli, joka tekee JSON-tietojen käsittelystä helppoa ja suoraviivoista.

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 json
avoimen 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 json
avoimen 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ökalu

Yllä 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_tiedosto

Muu 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.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...