Piton

Hogyan lehet Json fájlokat olvasni és írni Pythonban

Hogyan lehet Json fájlokat olvasni és írni Pythonban
Ez a cikk elmagyarázza, hogyan kell kezelni a JSON fájlokat és adatokat Python programozási nyelven. A Python tartalmaz egy beépített „json” modult, amely megkönnyíti és egyszerűvé teszi a JSON-adatok kezelését.

A JSON-ról

A JSON (JavaScript Object Notation) egy fájlformátum és adattárolási szabvány, amely kulcs-érték párokat használ az adatok tárolásához és cseréjéhez. Ez a legszélesebb körben használt adatcsere-formátum, gyakran látható a RESTful API-kban, a könnyű adatbázisokban, a konfigurációs fájlokban és más offline vagy online szoftverekben, amelyeknek adatokat kell tárolniuk, visszakeresniük és kicserélniük. A legtöbb programozási nyelv tartalmazza a JSON-adatok alapértelmezett elemzésére és írására szolgáló könyvtárakat, a JSON pedig egy programozási nyelv agnosztikus adatformátuma. A JSON fájlban vagy hasznos terhelésben tárolt értékek általában karakterláncokat, számokat és sorosítható adattípusokat tartalmaznak, például listákat (tömböket).

JSON és Python szótárak

A python JSON-adatait a „load” módszer segítségével szótár-objektummá alakítják. Gyakran tapasztalható, hogy egyesek egyenlőségjelet tesznek a json adatokkal és a python szótárral, mivel mindkettejük meghatározásának szintaxisa közel azonos. A json adatok azonban nem más, mint egy merev szintaxisban strukturált szöveglánc, míg a python szótár a memóriában tárolt adatstruktúra-objektum. Ha szótáradatokat szeretne tárolni egy szövegfájlban, vagy el akarja küldeni egy másik, nem python programba, akkor először szöveges karakterlánnyá (bájtokká) kell konvertálni. Ezt az átdobott / konvertált szöveges karakterláncot a JSON szabványos szintaxisa határozza meg, és a python szótár Json-kompatibilis karakterláncokká alakításának folyamatát serializációnak nevezzük.

JSON-adatok olvasása és megsemmisítése a Pythonban

A JSON-adatok lekérhetők válaszként egy szerverből, fájlból olvashatók, URL-lekérdezési paraméterekből szeletelhetők és így tovább. Ez a cikk főleg a JSON adatok helyben tárolt fájlokról történő olvasására összpontosít. Tegyük fel, hogy egy „teszt.json ”fájl a következő adatokat tartalmazza:

"kódnév": "Eoan Ermine", "verzió": "Ubuntu 19.10 "

A teszt elolvasásához.json fájl a pythonban, használhatja az alábbi kódot:

import json
nyitott ("teszt.json ") as f:
adatok = json.terhelés (f)
dump = json.szemétlerakók (adatok)
nyomtatás (adatok)
nyomtatás (típus (adatok))
nyomtatás (dump)
nyomtatás (típus (dump))

A fenti kód első sora importálja a json modult. A következő sorban a „nyitva” kifejezéssel biztonságosan olvasható a fájl tartalma. A „nyitva” blokkon belül „json.betöltés ”módszer a fájl tartalmának az„ data ”változóban történő olvasására és tárolására szolgál. Az előző lépésben betöltött adatokat a „json.dump ”módszer. A fenti kód futtatásával a következő kimenet jelenik meg:

'kódnév': 'Eoan Ermine', 'verzió': 'Ubuntu 19.10 '

"kódnév": "Eoan Ermine", "verzió": "Ubuntu 19.10 "

A fenti kimenetben vegye figyelembe, hogy a „json.betöltés ”módszer beolvassa a nyers json adatokat egy python szótárba, míg a„ json.dumps ”módszerek egy szótárt alakítanak át karakterlánccá, amely kompatibilis a JSON struktúrával. Miután egy JSON objektum átalakult Python szótár objektummá, beépített python szótár módszerekkel kezelheti az adatokat. A fenti példa elég alap, és nem tartalmaz tömböket a JSON-adatokban vagy a beágyazott értékekben. A pythonon belül azonban ezeket az értékeket ugyanúgy kezelheti, mint bármely más beágyazott szótárat és listát.

JSON adatok rendezése és szép nyomtatása

A „json.dump ”módszer néhány opcionális paramétert támogat a kulcsok rendezéséhez és a kimenet szép nyomtatásához az olvashatóság javítása érdekében.

import json
nyitott ("teszt.json ") as f:
adatok = json.terhelés (f)
dump = json.dumpok (adatok, sort_keys = True, behúzás = 4)
nyomtatás (dump)

A fenti kód a következő kimenetet mutatja:


"kódnév": "Eoan Ermine",
"version": "Ubuntu 19.10 "

Adattípus-konverziók

Az alábbi lista bemutatja, hogyan konvertálják a JSON értékeket python objektumokká és fordítva.

JSON Piton
húr str
szám int vagy lebeg
igaz hamis Igaz hamis
nulla Egyik sem
sor lista
tárgy diktálja

Json.eszköz Parancssori modul

A Python tartalmaz egy szép parancssori segédprogramot „json.eszköz ”, amelyet a JSON karakterláncok és fájlok hitelesítésére és szép nyomtatására lehet használni.

$ echo '"kódnév": "Eoan Ermine", "verzió": "Ubuntu 19.10 " '| python3 -m json.eszköz

A fenti parancs futtatásával a következő kimenet jelenik meg:


"kódnév": "Eoan Ermine",
"version": "Ubuntu 19.10 "

Használhatja a json-t is.eszköz JSON fájlokkal. Cserélje ki az „in_file” és az „out_file” parancsot az alábbi parancsban a kívánt értékekre:

$ python3 -m json.eszköz in_file out_file

A JSON adatok szép nyomtatásán, válogatásán és érvényesítésén kívül a Json.eszköz nem csinál mást. Tehát, ha bármilyen JSON-adatot akar manipulálni, akkor a beépített JSON-modullal meg kell írnia saját egyéni kódját.

Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...
Hogyan lehet megváltoztatni a bal és jobb egérgombokat a Windows 10 PC-n
Elég általános, hogy az összes számítógépes egéreszközt ergonómikusan a jobbkezes felhasználók számára tervezték. De vannak olyan egéreszközök, amelye...
Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...