Hogyan lehet JSON-adatokat olvasni és elemezni a Pythonban?

Peter

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 eredmény.

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:

  1. Használja az open() függvényt olvasási (‘r’) módban.
  2. A load() függvény Pythonná alakítja át diktálja.
  3. 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

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

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

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

A szerzőről

Peter, az eOldal.hu tapasztalt SEO szakértője és tartalomgyártója. Több mint 10 éve foglalkozik keresőoptimalizálással és online marketinggel, amelyek révén számos magyar vállalkozás sikerét segítette elő. Cikkeiben részletes és naprakész információkat nyújt az olvasóknak a legfrissebb SEO trendekről és stratégiákról.