在python3json中按值查找关键字



我有一个json对象:users.json

{ 
"1" :
{ "name" : "Jason" } , 
"2" : 
{ "name" : "Alex" }
}

我有一个python函数,它接受一个名称作为输入;id";。例如,如果我通过"Jason",它应该返回"1";如果我通过了"Alex",它应返回"2"。我知道这是一个简单的问题,但我真的被卡住了。。。(而且有点懒得研究python字典…(以下是我迄今为止拥有的

def __init__(self):
self.users_file = 'users.json'
def read_users_file(self):
with open(self.users_file) as users_file:
return json.load(users_file)
def get_user_id(self, name):  
data = self.read_users_file()
values = data.values()
for val in data.values():
if(name == val.get('name')):
print('user found!')

谢谢!

data = {
"1":
{"name": "Jason"},
"2":
{"name": "Alex"}
}

name = 'Jason'
for key in d:
if (d[key]['name'] == name):
print(key) ## output 1

或者以更Python的方式:

for key, value in data.items():
if name == value['name']:
print(key)

最新更新