Python

Как искать данные в JSON с помощью Python

Как искать данные в JSON с помощью Python

Одним из наиболее часто используемых методов сериализации данных является формат JSON. Python имеет встроенный модуль JSON для работы с данными JSON. Он поддерживает все типы примитивных типов данных, такие как число, строка и т. Д., А также объекты Python. Данные хранятся в структурированном формате в JSON. Иногда требуется поиск определенных данных из большой строки JSON или файла JSON. Есть много способов поиска конкретных данных из данных JSON. В этой статье показано, как искать данные JSON по ключу или значению с помощью скрипта Python.

Пример-1: ключ поиска в простых данных JSON

Следующий скрипт показывает, как искать, существует ли конкретный ключ в строке JSON или нет. Здесь переменная с именем данные клиентов определен для хранения данных JSON. Значение ключа будет принято как ввод от пользователя. Метод load () модуля JSON используется для загрузки данных JSON в переменную с именем клиент. Следующий, 'в' оператор используется для поиска ключа.

#!/ usr / bin / env python3
# Импортировать модуль json
импортировать json
# Определить данные json
customerData = "" "
"id": "3425678",
"name": "Джон Майкл",
"email": "[электронная почта защищена]",
"тип": "обычный",
"адрес": "4258 Поплар Чейз Лейн, Бойсе, Айдахо."
"" "
# Введите значение ключа, которое вы хотите найти
keyVal = input ("Введите значение ключа: \ n")
# загружаем данные json
customer = json.грузы (customerData)
# Поиск значения ключа с помощью оператора 'in'
если keyVal у клиента:
# Вывести сообщение об успешном завершении и значение ключа
print ("% s находится в данных JSON"% keyVal)
print ("Значение", keyVal, "is", customer [keyVal])
еще:
# Распечатать сообщение, если значение не существует
print ("% s не найден в данных JSON"% keyVal)

Выход:

Здесь скрипт выполняется два раза. Существующее значение ключа дается в первый раз, а несуществующее значение ключа дается во второй раз.

Пример-2: поиск определенного значения в данных JSON

Следующий скрипт показывает, как искать определенное значение в данных JSON. претенденты переменная содержит данные JSON, где ключ используется для хранения имени заявителя, а значение используется для хранения заявителя присутствует или отсутствует. Скрипт выполнит поиск значения «Отсутствует» в данных JSON и распечатает соответствующее значение имени. для цикл используется здесь итерация данных JSON.

#!/ usr / bin / env python3
# Импортировать модуль json
импортировать json
# Определить данные json
заявители = "" "
«Скотт Олдридж»: «Настоящее»,
"Джо Л. Фосс": "Настоящее",
"Клайд М Голд": "Настоящее",
"Моник Си Дулиттл": "Отсутствует",
"Дэвид М. Волкерт": "Настоящее",
"Israel M Oneal": "Настоящее",
"Элизабет М. Грофф": "Отсутствует"
"" "
# Инициализировать счетчик
counter = 0
# загружаем данные json
appList = json.грузы (заявители)
# повторяем json, чтобы найти список отсутствующих кандидатов
для ключа в appList:
if (appList [key] == 'Absent'):
# Проверить счетчик и распечатать сообщение
если (счетчик == 0):
print («Следующие кандидаты отсутствуют:»)
печать (ключ)
counter = counter + 1
# Распечатать сообщение, если заявитель отсутствует
если (счетчик == 0):
print («Присутствуют все претенденты»)

Выход:

По данным JSON из скрипта два претендента отсутствуют. Это будет результат после запуска скрипта:

Пример-3: поиск значения в данных массива JSON с помощью пользовательской функции

В следующем скрипте массив JSON с именем jsondata определено. Здесь будет выполняться поиск определенного значения ключа, и если значение существует, тогда значение другого связанного ключа будет напечатано в качестве вывода. search_price () функция определяется здесь, принимает значение название ключ, который будет найден в данных JSON, и он распечатает значение соответствующего Цена за единицу ключ.

#!/ usr / bin / env python3
# Импортировать модуль json
импортировать json
# Определить переменную json
jsondata = "" "[

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

"name": "Ластик",
"unit_price": 3
,

"name": "Карандаш",
"unit_price": 10
,

"name": "Белая книга",
"unit_price": 15

] "" "
# загружаем данные json
items = json.загружает (jsondata)
# Введите имя элемента, который вы хотите найти
item = input ("Введите имя элемента: \ n")
# Определить функцию для поиска элемента
def search_price (имя):
для keyval в элементах:
если имя.lower () == keyval ['имя'].ниже():
return keyval ['unit_price']
# Проверить возвращаемое значение и распечатать сообщение
если (search_price (item) != Нет):
print ("Цена:", search_price (item))
еще:
print («Товар не найден»)

Выход:

В этом выводе скрипт выполняется два раза. 'карандаш' принимается за значение название ключ, который существует в JSON данные. В Цена за единицу из 'карандаш' является 10 это напечатано. Следующий, 'книга' принимается как входное значение, которого нет в данных JSON.

Пример-4: ключ поиска во вложенных данных JSON

В следующем скрипте показаны шаги по поиску значения определенного ключа во вложенных данных JSON. Здесь вложенная переменная JSON с именем вложенные данные объявлен для хранения вложенных данных. Этот скрипт будет искать название бренда женских часов.

#!/ usr / bin / env python3
# Импортировать модуль json
импортировать json
# Определить json-переменную вложенных данных
nestedData = "" "
"смотреть":
"люди":
«бренд»: «Титан»,
«цена»: 200
,
"женщины":
«бренд»: «Гражданин»,
«цена»: 250
,
"дитя":
«бренд»: «Blancpain»,
«цена»: 100


"" "
# Загрузить данные json
список наблюдения = json.загружает (nestedData)
# Искать "бренд" для женщин
если "бренд" в списке просмотра ["смотреть"] ["женщины"]:
печать (список просмотра ['смотреть'] ['женщины'] ['бренд'])

Выход:

В приведенном выше сценарии существует только одна ценность бренда для женских часов, а именно:Гражданин'. Следующее будет выводом после запуска скрипта.

Пример 5: поиск записи из файла JSON с использованием метода фильтрации и лямбда

Следующие шаги показывают, как можно искать запись в файле JSON на основе определенного ключа и значений. Содержание книги.json файл приведен ниже.

книги.json

[

"isbn": "7799349885",
"name": "Основы динамики автомобиля",
"author": "Joop P. Pauwelussen "
,

"isbn": "7799349885",
"name": "Поток и сгорание в поршневых двигателях",
"author": "C. Аркуманис и Т. Камимото "
,

"isbn": "7799349885",
"name": "Взаимодействие водителя с автомобилем в области эргономики автомобиля",
«автор»: «Николаос Гкикас»

]

Следующий скрипт будет искать запись из книги.json файл, где значение Автор ключ Николаос Гкикас с использованием лямбда а также фильтр() метод.

#!/ usr / bin / env python3
# Импортировать модуль JSON
импортировать json
# Открываем существующий файл JSON для загрузки в переменную
с открытыми ('книгами.json ') как jsondata:
данные = json.загрузка (jsondata)
# Поиск данных по ключу и значению с использованием метода фильтра и списка
print (list (filter (lambda x: x ["author"] == "Nikolaos Gkikas", data)))

Выход:

Следующий вывод появится после запуска скрипта.

Заключение:

При работе с большим объемом данных JSON и необходимости с легкостью извлекать конкретную информацию из данных, мы должны использовать эффективные способы выполнения задачи. В этой статье объясняются различные способы поиска ключа и значения в данных JSON, чтобы помочь пользователям Python успешно выполнить этот процесс.

Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...
Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...