Поиск данных в файле JSON с использованием Python

Вот несколько методов, которые можно использовать для поиска данных в файле JSON с помощью Python:

  1. Использование модуля json. Встроенный модуль jsonPython предоставляет функции для загрузки данных JSON в словарь Python. Затем вы можете просмотреть словарь для поиска конкретных значений.
import json
# Load JSON data from file
with open('data.json') as file:
    data = json.load(file)
# Search for a specific value
search_value = 'example'
results = []
def search_json(json_data, search_value):
    if isinstance(json_data, dict):
        for key, value in json_data.items():
            if value == search_value:
                results.append(key)
            elif isinstance(value, (dict, list)):
                search_json(value, search_value)
    elif isinstance(json_data, list):
        for item in json_data:
            search_json(item, search_value)
search_json(data, search_value)
print(results)
  1. Использование понимания списка. Вы можете использовать понимание списка для поиска определенных значений в данных JSON.
# Load JSON data from file
with open('data.json') as file:
    data = json.load(file)
# Search for a specific value using list comprehension
search_value = 'example'
results = [key for key, value in data.items() if value == search_value]
print(results)
  1. Использование рекурсии. Если структура JSON имеет вложенные словари или списки, вы можете реализовать рекурсивную функцию для поиска значения.
def search_json(json_data, search_value):
    results = []
    if isinstance(json_data, dict):
        for key, value in json_data.items():
            if value == search_value:
                results.append(key)
            elif isinstance(value, (dict, list)):
                results.extend(search_json(value, search_value))
    elif isinstance(json_data, list):
        for item in json_data:
            results.extend(search_json(item, search_value))
    return results
results = search_json(data, search_value)
print(results)