Jak wyszukiwać dane w JSON za pomocą Pythona

Jak wyszukiwać dane w JSON za pomocą Pythona

Jedną z najczęściej używanych technik serializacji danych jest format JSON. Python ma wbudowany moduł JSON do pracy z danymi JSON. Obsługuje wszystkie typy prymitywnych typów danych, takie jak liczba, ciąg itp., Wraz z obiektami Python. Dane są przechowywane w ustrukturyzowanym formacie w JSON. Czasami konieczne jest przeszukanie określonych danych z dużego ciągu JSON lub pliku JSON. Istnieje wiele sposobów wyszukiwania określonych danych z danych JSON. W tym artykule można wyszukiwać dane JSON na podstawie klucza lub wartości za pomocą skryptu Python.

Przykład-1: Wyszukaj klucz w prostych danych JSON

Poniższy skrypt pokazuje, jak wyszukiwać, czy określony klucz istnieje w ciągu JSON, czy nie. Tutaj zmienna nazwana dane klienta jest zdefiniowane do przechowywania danych JSON. Wartość klucza zostanie przyjęta jako dane wejściowe od użytkownika. Metoda modułu JSON jest używana do ładowania danych JSON w wymienionej zmiennej klient. Następny, 'W' Operator służy do wyszukiwania klucza.

#!/usr/bin/env python3
# Importuj moduł JSON
Importuj JSON
# Zdefiniuj dane JSON
CustomerData = "" "
„ID”: „3425678”,
„Nazwa”: „John Micheal”,
„E -mail”: „[email protected] ",
„Typ”: „Regular”,
„Adres”: „4258 Poplar Chase Lane, Boise, Idaho."
„” ”
# Wprowadź wartość kluczową, którą chcesz wyszukać
keyval = input („Wprowadź wartość kluczową: \ n”)
# Załaduj dane JSON
klient = JSON.ładunki (CustomerData)
# Wyszukaj wartość kluczową za pomocą operatora „w”
Jeśli KeyVal w kliencie:
# Wydrukuj komunikat sukcesu i wartość klucza
Drukuj („ %s znajduje się w danych JSON” %Keyval)
drukuj („Wartość”, keyval, „IS”, Customer [KeyVal])
w przeciwnym razie:
# Wydrukuj wiadomość, jeśli wartość nie istnieje
Drukuj („ %S nie można znaleźć w danych JSON” %Keyval)

Wyjście:

Skrypt jest wykonywany dwa razy tutaj. Istniejąca wartość kluczowa jest podawana po raz pierwszy, a po raz drugi podawana nieistniejąca wartość kluczowa.

Przykład-2: Wyszukaj określoną wartość w danych JSON

Poniższy skrypt pokazuje, jak przeszukać określoną wartość w danych JSON. kandydaci Zmienna zawiera dane JSON, w których klucz jest używany do przechowywania nazwy i wartości wnioskodawcy do przechowywania wnioskodawcy jest obecny lub nieobecny. Skrypt będzie przeszukiwać „nieobecną” wartość w danych JSON i wydrukuje odpowiednią wartość nazwiska. Do Pętla jest tutaj używana iteruj dane JSON.

#!/usr/bin/env python3
# Importuj moduł JSON
Importuj JSON
# Zdefiniuj dane JSON
Applicants = "" "
„Scott C Aldridge”: „Prezent”,
„Joe L Foss”: „Prezent”,
„Clyde M Gold”: „Present”,
„Monique C Doolittle”: „nieobecny”,
„David M Volkert”: „Prezent”,
„Izrael M Oneal”: „Present”,
„Elizabeth M Groff”: „Brak”
„” ”
# Zainicjuj licznik
licznik = 0
# Załaduj dane JSON
Applist = JSON.Ładunki (wnioskodawcy)
# iteruj JSON, aby znaleźć listę nieobecnego wnioskodawcy
dla klucza w Applist:
if (applist [key] == „nieobecny”):
# Sprawdź licznik wydrukuj wiadomość
if (licznik == 0):
Drukuj („Następujący wnioskodawcy nie są:”)
Drukuj (klucz)
licznik = licznik + 1
# Wydrukuj wiadomość, jeśli żaden wnioskodawca nie jest nieobecny
if (licznik == 0):
Drukuj („Wszyscy kandydaci są obecni”)

Wyjście:

Zgodnie z danymi JSON ze skryptu, nie ma dwóch wnioskodawców. Będzie to wynikowe wyjście po uruchomieniu skryptu:

Przykład-3: Wartość wyszukiwania w danych macierzy JSON za pomocą funkcji niestandardowej

W poniższym skrypcie wymieniona tablica JSON Jsondata definiuje. Szczególna wartość klucza zostanie przeszukana tutaj, a jeśli istnieje wartość, wartość innego pokrewnego klucza zostanie wydrukowana jako wyjście. Search_Price () Funkcja jest tutaj zdefiniowana, weź wartość nazwa klucz, który zostanie przeszukany w danych JSON i wydrukuje wartość odpowiedniego Cena jednostkowa klucz.

#!/usr/bin/env python3
# Importuj moduł JSON
Importuj JSON
# Zdefiniuj zmienną JSON
jsondata = "" "[

„Nazwa”: „Pen”,
„Unit_Price”: 5
,

„Nazwa”: „Gumka”,
„Unit_Price”: 3
,

„Nazwa”: „ołówek”,
„Unit_Price”: 10
,

„Nazwa”: „Biała papier”,
„Unit_Price”: 15

] „” ”
# Załaduj dane JSON
pozycje = JSON.ładunki (jsondata)
# Wprowadź nazwę elementu, którą chcesz wyszukać
pozycja = wejście („Wprowadź nazwę elementu: \ n”)
# Zdefiniuj funkcję wyszukiwania elementu
def Search_Price (nazwa):
dla KeyVal w elementach:
Jeśli nazwa.dolne () == Keyval ['Nazwa'].niżej():
zwróć KeyVal ['Unit_Price']
# Sprawdź wartość zwracania i wydrukuj komunikat
if (Search_Price (pozycja) != Brak):
drukuj („Cena to:”, Search_Price (item))
w przeciwnym razie:
Drukuj („Nie znaleziono pozycji”)

Wyjście:

Skrypt jest wykonywany dwa razy w tym wyniku. 'ołówek' jest traktowany jako wartość nazwa klucz, który istnieje w JSON dane. Cena jednostkowa z 'ołówek' Jest 10 to jest wydrukowane. Następny, 'książka' jest traktowany jako wartość wejściowa, która nie istnieje w danych JSON.

Przykład-4: Klucz wyszukiwania w zagnieżdżonych danych JSON

Poniższy skrypt pokazuje kroki w wyszukiwaniu wartości konkretnego klucza w zagnieżdżonych danych JSON. Tutaj, zagnieżdżona zmienna JSON o nazwie nestentdata jest zadeklarowany do przechowywania zagnieżdżonych danych. Ten skrypt przeszuka markę Women Watch.

#!/usr/bin/env python3
# Importuj moduł JSON
Importuj JSON
# Zdefiniuj zmienną JSON zagnieżdżonych danych
nestedData = "" "
"oglądać":
"mężczyźni":
„Brand”: „Titan”,
„Cena”: 200
,
"kobiety":
„Brand”: „Citizen”,
„Cena”: 250
,
"dziecko":
„Brand”: „Blancpain”,
„Cena”: 100


„” ”
# Załaduj dane JSON
WatchList = JSON.Ładunki (Nesteddata)
# Wyszukaj „markę” dla kobiet
Jeśli „marka” na liście obserwacyjnej [„Watch”] [„Women”]:
print (lista obserwacyjna [„Watch”] [„Women”] [„marka”])

Wyjście:

W powyższym skrypcie istnieje tylko jedna wartość marki dla Women Watch, która jest ”Obywatel'. Poniżej pojawi się wyjście po uruchomieniu skryptu.

Przykład-5: Wyszukaj wpis z pliku JSON za pomocą metody filtra i lambda

Poniższe kroki pokazują, jak możesz wyszukać wpis z pliku JSON na podstawie konkretnego klucza i wartości. Zawartość książki.JSON Plik jest podany poniżej.

książki.JSON

[[[

„ISBN”: „7799349885”,
„Nazwa”: „Essentials of Vehicle Dynamics”,
„Autor”: „Joop P. Pauwelussen "
,

„ISBN”: „7799349885”,
„Nazwa”: „przepływ i spalanie w silnikach wzajemnych”,
„Autor”: „C. Arcoumanis i t. Kamimoto "
,

„ISBN”: „7799349885”,
„Nazwa”: „Automotive Ergonomics Driver Interaction”,
„Autor”: „Nikolaos Gkikas”

]

Poniższy skrypt przeszuka wpis z książki.JSON plik, gdzie wartość Autor Klucz to Nikolaos Gkikas za pomocą lambda I filtr() metoda.

#!/usr/bin/env python3
# Importuj moduł JSON
Importuj JSON
# Otwórz istniejący plik JSON do załadunku do zmiennej
z Open (książki.JSON ') jako jsondata:
Data = JSON.Ładuj (jsondata)
# Wyszukaj dane na podstawie klucza i wartości za pomocą metody filtru i listy
print (lista (filtr (Lambda X: x [„autor”] == "Nikolaos Gkikas", data))))

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Wniosek:

Pracując z dużą ilością danych JSON i musimy z łatwością znaleźć konkretne informacje z danych, musimy skorzystać z wydajnych sposobów wykonania zadania. W tym artykule wyjaśniono różne sposoby wyszukiwania klucza i wartości w JSON, aby pomóc użytkownikom Python w pomyślnym wykonywaniu tego procesu.