#python_3x #json
Есть файл db.json
Его содержание:
[
{
"user": "981"
},
{
"user": "859"
},
{
"user": "237"
}
]
Например нужно проверить есть ли "user": "859" в db.json
Как делаю это я:
import json
def json_read(file_name):
try:
json_data = json.load(open(file_name, 'r', encoding="cp1251"))
except:
json_data = []
return json_data
data = json_read("db.json")
user_in_db = "859"
for user in data:
if user_in_db == user['user']:
print("yes")
else:
print("No")
Но я думаю в случае большого количества пользователей в db.json данный способ менее
удобен. Есть ли какой то более удобный и быстрый способ сделать это ?
Ответы
Ответ 1
Решение в лоб: In [13]: db = [ ...: { ...: "user": "981" ...: }, ...: { ...: "user": "859" ...: }, ...: { ...: "user": "237" ...: } ...: ] In [14]: {'user': '859'} in db Out[14]: True Или: In [15]: any(x['user'] == '859' for x in db) Out[15]: TrueОтвет 2
data = json.load(open('db.json', 'r')) dictValueKey = dict([ [d.get(k),k] for k in d for d in data]) print("Yes" if dd.get("859")=="user" else "No") Yes print("Yes" if dd.get("111")=="user" else "No") No print("Yes" if dd.get("859")=="userNo" else "No") No
Комментариев нет:
Отправить комментарий