首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python3 json中通过值查找键

在python3 json中通过值查找键
EN

Stack Overflow用户
提问于 2020-09-24 02:30:27
回答 1查看 106关注 0票数 1

我有一个json对象: users.json

代码语言:javascript
运行
复制
{ 
  "1" :
       { "name" : "Jason" } , 
  "2" : 
       { "name" : "Alex" }
}

我有一个python函数,它接受一个名称作为输入,并且应该返回"id“。例如,如果我传递'Jason',它应该返回'1‘,如果我传递'Alex’,它应该返回'2‘。我知道这是一个简单的问题,但我真的被卡住了……(而且学习python字典有点懒……)这是我到目前为止所掌握的

代码语言:javascript
运行
复制
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!')

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-24 02:36:59

代码语言:javascript
运行
复制
data = {
    "1":
    {"name": "Jason"},
    "2":
    {"name": "Alex"}
}


name = 'Jason'

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

或者以更具Pythonic风格的方式:

代码语言:javascript
运行
复制
for key, value in data.items():
    if name == value['name']:
        print(key)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64034232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档