Piton

Hogyan lehet adatokat keresni a JSON-ban a python használatával

Hogyan lehet adatokat keresni a JSON-ban a python használatával

Az egyik leggyakrabban használt adatszerializációs technika a JSON formátum. A Pythonnak van egy beépített JSON modulja, amely a JSON-adatokkal dolgozik. Minden típusú primitív adattípust támogat, például számot, karakterláncot stb., Valamint a python objektumokat. Az adatokat strukturált formátumban tárolják a JSON-ban. Néha meg kell keresni egy adott adatot egy nagy JSON karakterláncból vagy egy JSON fájlból. Számos módon lehet konkrét adatokat keresni a JSON-adatokból. A JSON-adatok kulcs vagy érték alapján történő keresése a python szkript használatával ebben a cikkben látható.

1. példa: Keresési kulcs egyszerű JSON-adatokban

A következő szkript bemutatja, hogyan kell keresni, ha egy adott kulcs létezik egy JSON karakterláncban, vagy sem. Itt egy nevű változó customerData a JSON adatok tárolására van meghatározva. A kulcs értékét a felhasználó adja meg. A JSON modul load () metódusát a JSON adatok betöltésére használják a megnevezett változóban vevő. Következő, 'ban ben' operátor a kulcs keresésére szolgál.

#!/ usr / bin / env python3
# Json modul importálása
import json
# Definiálja a json adatait
customerData = "" "
"id": "3425678",
"név": "John Micheal",
"email": "[e-mail védett]",
"type": "regular",
"address": "4258 Poplar Chase Lane, Boise, Idaho."
""
# Írja be a keresni kívánt kulcsértéket
keyVal = input ("Adjon meg egy kulcsértéket: \ n")
# betölti a json adatait
ügyfél = json.terhelések (customerData)
# Keresse meg a kulcsértéket az 'in' operátor segítségével
ha keyVal az ügyfélben:
# Nyomtassa ki a sikerüzenetet és a kulcs értékét
nyomtatás ("% s megtalálható a JSON-adatokban"% keyVal)
print ("A", keyVal, "is" értéke, ügyfél [keyVal])
más:
# Nyomtassa ki az üzenetet, ha az érték nem létezik
nyomtatás ("% s nem található a JSON-adatokban"% keyVal)

Kimenet:

A szkriptet itt kétszer hajtják végre. Meglévő kulcsértéket adunk meg először, és nem létező kulcsértéket adunk meg másodszor.

2. példa: Keressen egy adott értéket a JSON-adatokban

A következő parancsfájl bemutatja, hogyan lehet egy adott értéket keresni a JSON-adatokban. pályázók változó tartalmazza azokat a JSON adatokat, ahol a kulcsot a kérelmező nevének tárolására használják, az értéket pedig a kérelmező jelenlétére vagy hiányára használják. A szkript megkeresi a 'Hiány' értéket a JSON-adatokban, és kinyomtatja a megfelelő névértéket. mert hurok itt használatos a JSON adatok iterálása.

#!/ usr / bin / env python3
# Json modul importálása
import json
# Definiálja a json adatait
pályázók = "" "
"Scott C Aldridge": "Jelen",
"Joe L Foss": "Jelen",
"Clyde M Gold": "Jelen",
"Monique C Doolittle": "Hiányzik",
"David M Volkert": "Jelen",
"Israel M Oneal": "Jelen",
"Elizabeth M Groff": "Hiányzik"
""
# Számláló inicializálása
számláló = 0
# betölti a json adatait
appList = json.terhelések (pályázók)
# itson a Json-t a hiányzó jelentkezők listájának megtalálásához
kulcs az appList-ben:
if (appList [kulcs] == 'Nincs'):
# Ellenőrizze a számlálót, és nyomtassa ki az üzenetet
ha (számláló == 0):
nyomtatás ("A következő jelentkezők hiányoznak:")
nyomtatás (kulcs)
számláló = számláló + 1
# Nyomtassa ki az üzenetet, ha egyetlen jelentkező sem hiányzik
ha (számláló == 0):
nyomtatás ("Minden jelentkező jelen van")

Kimenet:

A szkript JSON adatai szerint két jelentkező hiányzik. Ez lesz a kimenet a szkript futtatása után:

3. példa: Keresési érték a JSON tömbadatokban az egyéni függvény használatával

A következő szkriptben egy JSON tömb nevű jsondata meg van határozva. Itt egy kulcs adott értékét keresi meg, és ha az érték létezik, akkor egy másik kapcsolódó kulcs értéke kerül kinyomtatásra. keresési_ár () függvény itt van definiálva vegye az név kulcs, amelyet a JSON adatokban keresnek, és kinyomtatja a megfelelő értékét egységár kulcs.

#!/ usr / bin / env python3
# Json modul importálása
import json
# Definiálja a json változót
jsondata = "" "[

"name": "Pen",
"unit_price": 5
,

"name": "Radír",
"egység_ár": 3
,

"név": "Ceruza",
"egység_ár": 10
,

"név": "Fehér könyv",
"egység_ár": 15

] "" "
# töltse be a json adatait
tételek = json.terhelések (jsondata)
# Írja be a keresni kívánt elem nevét
item = input ("Írja be az elem nevét: \ n")
# Adjon meg egy funkciót az elem keresésére
def keresési_ár (név):
a kulcsértékhez az elemekben:
ha név.alsó () == keyval ['név'].Alsó():
return keyval ['unit_price']
# Ellenőrizze a visszatérési értéket és az üzenet nyomtatását
if (keresési_ár (elem) != Nincs):
print ("Az ár:", keresési_ár (elem))
más:
nyomtatás ("Az elem nem található")

Kimenet:

A szkriptet kétszer hajtják végre ebben a kimenetben. "ceruza' értékét vesszük név kulcs létezik a JSON adat. A egységár nak,-nek 'ceruza' van 10 hogy ki van nyomtatva. Következő, 'könyv' olyan bemeneti értéknek számít, amely nem létezik a JSON-adatokban.

4. példa: Keresési kulcs beágyazott JSON-adatokban

A következő parancsfájl bemutatja az adott kulcs értékének keresését a beágyazott JSON-adatokban. Itt egy beágyazott JSON változó nestedData be van jelölve beágyazott adatok tárolására. Ez a szkript keresni fogja a női karóra márkanevét.

#!/ usr / bin / env python3
# Json modul importálása
import json
# Definiálja a beágyazott adatok json változóját
nestedData = "" "
"néz":
"férfiak":
"brand": "Titan",
"ár": 200
,
"nők":
"brand": "Citizen",
"ár": 250
,
"kölyök":
"brand": "Blancpain",
"ár": 100


""
# Töltse be a json adatait
figyelőlista = json.terhelések (nestedData)
# Keresés a „márka” kifejezésre nők számára
ha a „márka” szerepel a figyelőlistán [„óra”] [„nők”]:
nyomtatás (figyelőlista ['óra'] ['nők'] ['márka'])

Kimenet:

A fenti szkriptben csak egy márkaérték van a női karórák számára:Polgár". A következő lesz a kimenet a szkript futtatása után.

5. példa: JSON fájl bejegyzésének keresése szűrési módszer és lambda használatával

A következő lépések bemutatják, hogyan kereshet egy JSON fájlból a bejegyzésben egy adott kulcs és értékek alapján. A tartalom könyveket.json fájl alább található.

könyveket.json

[

"isbn": "7799349885",
"name": "A járműdinamika alapjai",
"szerző": "Joop P. Pauwelussen "
,

"isbn": "7799349885",
"name": "Áramlás és égés dugattyús motorokban",
"szerző": "C. Arcoumanis és T. Kamimoto "
,

"isbn": "7799349885",
"name": "Gépjármű-ergonómia, a jármű és a jármű kölcsönhatása",
"szerző": "Nikolaos Gkikas"

]

A következő szkript keresni fogja a következő bejegyzést: könyveket.json fájl, ahol a a szerző kulcs az Nikolaos Gkikas felhasználásával lambda és szűrő() módszer.

#!/ usr / bin / env python3
# JSON modul importálása
import json
# Nyissa meg a meglévő JSON fájlt egy változóba való betöltéshez
nyitott könyvekkel.json ') mint jsondata:
adatok = json.terhelés (jsondata)
# Keresés kulcs és érték alapján szűrő és lista módszerrel
nyomtatás (lista (szűrő (lambda x: x ["szerző"] == "Nikolaos Gkikas", adatok)))

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

Következtetés:

Ha nagy mennyiségű JSON adattal dolgozunk, és könnyedén meg kell találnunk a konkrét információkat az adatokból, akkor hatékony módszereket kell használnunk a feladat elvégzésére. A JSON-adatok kulcsának és értékének keresésének különféle módszereit ebben a cikkben ismertetjük, hogy segítsük a python-felhasználókat a folyamat sikeres végrehajtásában.

A legjobb Linux-disztribútorok játékhoz 2021-ben
A Linux operációs rendszer hosszú utat tett meg eredeti, egyszerű, szerver alapú kinézetétől. Ez az operációs rendszer rendkívül javult az elmúlt évek...
Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...
A legjobb játékok kézi követéssel
Az Oculus Quest nemrégiben bemutatta a vezérlés nélküli kézi követés nagyszerű ötletét. Az egyre növekvő számú játékkal és tevékenységgel, amelyek tám...