A JSON (Javascript Object Notation) jelenleg a legnépszerűbb adatátviteli formátum. Majdnem a webhelyek 50%-a világszerte használja ezt a formátumot.
Könnyű, és úgy van formázva, hogy az emberek és a gépek számára is könnyen olvasható legyen. A JSON számos programozási nyelvvel is kompatibilis, beleértve a Pythont is.
Ez a cikk a JSON-fájlok Pythonban történő olvasását és elemzését ismerteti, könnyen érthető példákkal. Olvasson tovább, ha többet szeretne megtudni.
🔑 Kulcs elvitelek
- A JSON egy széles körben használt formátum, amely kompatibilis különféle programozási nyelvekkel, még a Pythonnal is.
- A json modul a Pythonban lehetővé teszi az egyszerű konverziót a JSON-adatok és a Python-szótárak között loads() és terhelés()függvények a JSON karakterlánc- és fájlelemzéshez.
- A Python szótárak JSON-objektummá konvertálhatók a guba() és dump() funkciókat a json modul.
- A terhelés() A funkció különösen hasznos nagyobb JSON-fájlok olvasásához, amelyek közvetlenül Python-szótárakká konvertálhatók.
- Megértése a json A modul képességei a Pythonban elengedhetetlenek a JSON- és Python-szótárak közötti zökkenőmentes adatcseréhez.
Módszerek a JSON-adatok olvasása és elemzése Pythonban
Az elemzés különböző eszközöket és nyelveket foglal magában, attól függően, hogy milyen adatformátumot kell elemezni. Szerencsére a JSON egy olyan formátum, amely kompatibilis a legtöbb eszközzel és programozási nyelvvel.
JSON-fájlok Python használatával történő olvasásakor vagy elemzésekor a nyelv támogatja a JSON-t az előre telepített modulon keresztüljson.”
A Python így hívja elő ezt a modult:
import json
A json modul képes JSON karakterláncokat vagy fájlokat Python szótárakká konvertálni és fordítva. Itt található egy táblázat a JSON-objektumokról és a hozzájuk tartozó Python-adattípusokról:
JSON | Piton |
Objektum | diktálja |
Sor | lista, tuple |
Húr | str |
Szám | int, úszó |
Null | Egyik sem |
Igaz | Igaz |
Hamis | Hamis |
Ahhoz, hogy a JSON olvasható legyen a Pythonban, az objektumokat a megfelelő Python-adattípusra kell konvertálni.
JSON olvasása a Python szótár konvertálásához
A JSON-fájl Pythonban való olvasása mindig a JSON-objektumok tényleges konverziójához vezet Python-szótárakká. Ezt a függvények teszik meg terhelés és terhelések (olvasni mint load-s vagy load string) a json modulban.
JSON karakterlánc Python Dictre
Íme egy példa egy JSON-karakterláncra:
{ "name": "John Doe", "age": 30, "address": { "street": "123 Main Street", "city": "New York", "state": "NY" }, "isPreferredCustomer": true, "notes": null }
Ezt Pythonná konvertálni diktáljahasználja a loads() funkció. Íme a forgatókönyv:
import json # Example JSON string json_string = """ { "name": "John Doe", "age": 30, "address": { "street": "123 Main Street", "city": "New York", "state": "NY" }, "isPreferredCustomer": true, "notes": null } """ python_dict = json.loads(json_string) print(python_dict) print(type(python_dict)) # Output json_dict = {'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True, 'notes': None} <class 'dict'>
A JSON-objektumot a rendszer sikeresen átalakította Python-szótárrá. Ezt erősíti meg a típus() funkciót, amely kinyomtatta a
JSON-fájlok olvasása
Ugyanez a folyamat szükséges egy JSON-fájl elemzéséhez. Ehhez használhatja a load() függvényt.
Tegyük fel, hogy van egy nevű JSON-fájlja exampleuser.json amelynek tartalma megegyezik a fenti minta JSON-karakterlánccal.
A JSON-fájl elolvasásához a következőket teheti:
- Használja az open() függvényt olvasási (‘r’) módban.
- A load() függvény Pythonná alakítja át diktálja.
- A type() függvény megerősíti az adattípust.
import json with open('exampleuser.json', 'r') as json_file: python_dict = json.load(json_file) print(python_dict) print(type(python_dict)) # Output python_dict = {'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True, 'notes': None} <class 'dict'>
📝 Megjegyzés: Ez a módszer a leghasznosabb nagyobb JSON-fájlok olvasásakor. |
Python szótárak konvertálása JSON-ba
Emlékezzünk vissza a Python json-moduljának arra a képességére, hogy a szótárakat JSON-objektumokká konvertálja, amelyeket korábban tárgyaltunk.
Ebben az esetben a funkciókat fogja használni szemétlerakás és guba (olvasni mint guba vagy dump string).
Python Dict JSON karakterláncra
Használja a guba() függvény a Python szótárak JSON karakterláncokká konvertálásához. Íme egy példa:
import json python_dict = "{'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True}" json_string = json.dumps(python_dict) print(json_string) print(type(json_string)) # Output json_string = "{'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True}" <class 'str'>
Az adatvesztés nélküli átalakítás a JSON egyik legfontosabb előnye. Az olvashatóbbá tétel érdekében hozzáadhatja a behúzás argumentum a dumps() függvényen belül.
json_string = json.dumps (python_dict, indent=4)
Ennek olvashatóbb kimenetet kell visszaadnia, például:
{ "name": "John Doe", "age": 30, "address": { "street": "123 Main Street", "city": "New York", "state": "NY" }, "isPreferredCustomer": True, }
Python karakterlánc írása JSON-fájlba
Ehhez a dump() függvényt kell használni. Az open() függvény ismét megnyit egy meglévő fájlt a jelzett módon.
Ha nem létezik, akkor az írási (‘w’) mód segítségével automatikusan létrejön. Az írási mód a fájl tartalmát is megváltoztatja, ha létezik.
Íme egy minta szkript:
import json python_dict = "{'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True}" with open('exampleuser.json', 'w') as json_file: json.dump(python_dict, json_file) print(type(json_file))
Ha elkészült, most már tudja, hogyan kell olvasni és elemezni a JSON-t Python-modul segítségével.
👍 Hasznos cikk A JSON mellett más formátumokat is elemezhet a Python segítségével. Próbálja meg értelmezni a HTML-t RegEx-szel Python-szkriptek használatával. A RegEx egy karaktersorozat, amelyet széles körben használnak szöveges karakterláncok konfigurálására. |
Következtetés
A JSON modul létfontosságú a JSON egyszerű olvasásának és elemzésének biztosításához – mindössze néhány sornyi kóddal.
Ez azonban közel sem éri el teljes képességét. Feltétlenül tekintse át a json modul hivatalos dokumentációja hogy többet ássunk.
GYIK
-
Hogyan lehet karakterlánc-adatokat lekérni a JSON-ból?
Az egyik módja a JSON elemzése a Python JSON-moduljával. Használhatja terhelés és terhelések függvények a JSON-objektumok olvasásához. Megadhatja a kulcs-érték párokat is.
-
Hogyan lehet JSON fájlt tárolni a Pythonban?
Használja a dump() függvényt a json modulból, hogy objektumokat írjon egy JSON-fájlba. Írási módban is szüksége lesz az open() függvényre egy fájl létrehozásához vagy egy meglévő felülírásához.
-
Könnyen értelmezhető a JSON?
A JSON elemzése viszonylag egyszerűbb, mint alternatívája, az XML. Ez a programozási nyelvek – például a Python és a Javascript – szempontjából. Egy másik ok, hogy a JSON könnyű, így gyorsabban dolgozhatnak az elemzők.