【发布时间】:2026-01-24 03:10:01
【问题描述】:
我正在尝试解析字典中的特定值。该字典是来自 API 查询的 json 有效负载。我尝试了很多方法,但我无法得到我想要的。
我的目标是:
- 通过现有名称列表进行解析。我有一个从文件导入的空白字典。
- 根据 API 响应查看该名称是否处于活动状态。
- 打印活动用户列表:如果用户处于活动状态,则打印(“用户:%s 处于活动状态”% 用户)
- 然后打印非活动用户列表:else print ("User: %s is not Active" % user)
获取我拥有的值:
#!/usr/bin/env python
import requests
from requests.auth import HTTPBasicAuth
import json
import sys
import getpass
password = getpass.getpass()
url = "https://myurl/blah/blah/getusers=true"
request = requests.get(url,auth=HTTPBasicAuth('username', password.format(password)), verify=True)
if(request.ok):
data = json.loads(request.content)
for key in data:
users = data[key]
print users
else:
request.raise_for_status()
返回的内容:
https://myurl/blah/blah/getusers=true
getusers
users{u'max-results': 50, u'items': [{u'displayName': u'testfirstname, testlastname', u'name': u'testfirstname', u'self': u'https://blah/blah', u'emailAddress': u'myemail@email.com', u'key': u'myusername', u'active': True, u'timeZone': u'America/Los_Angeles'},
如果只是因为我无法找到要获取哪个密钥或什么,我不会。响应中的关键是:u'active': True。我试图拉出“活动”值,但无济于事。任何帮助,将不胜感激。
编辑:更多信息。因此,有效负载返回一个用户列表,其中包含每个用户的数据。 “active: True”只是系统中定义用户的参数之一。我想获取我已经拥有的用户列表并检查 API 以查看列表中的每个用户是“活动:True”还是“活动:False”。 我不确定为什么会返回前两行(url 和 getusers)
【问题讨论】:
-
json.loads()会给你一个嵌套字典。检查多个级别的键以找到您想要的。我需要一个更具体的问题才能说更多 - 事实上,我真的不知道你在寻找什么,或者你的数据是什么样的。 -
打印输出中的字典输出,实际上是什么?这就是全部反应吗?你有 3 行输出,但只有一个
print,我不确定我们在看什么。