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.
