在Python中检查JSON响应中的null对象

2024-10-01 11:22:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的代码,它可以工作。我正在检查一个JSON对象是否有一个完整的字段并且不包含底层字段(如果您感兴趣的话,可以使用jiraapi)。有没有更简洁的方法来编写for循环?在

myResponse = requests.get(url,auth=(urlUser,urlPass))

jd = myResponse.json()
myVals = jd['issues']

print(myVals[0].keys())
for issue in myVals:
    if issue['fields']['assignee'] is not None:
        assignee = issue['fields']['assignee']['displayName']
    else:
        assignee = "Unassigned"

Tags: 对象方法代码jsonfieldsforissuerequests
1条回答
网友
1楼 · 发布于 2024-10-01 11:22:13

您可以将^{}与回退字典一起使用:

>>> issues = {'fields': {'assignee': None}}
>>> issues['fields']['assignee'] or {}  # fallback to an empty dictionary
{}
>>> (issues['fields']['assignee'] or {}).get('displayName', 'Unassigned')
'Unassigned'

^{pr2}$

或定义回退字典,如下所示:

UNASSIGNED = {'displayName': 'Unassigned'}
for issue in myVals:
    assignee = (issue['fields']['assignee'] or UNASSIGNED)['displayName']

相关问题 更多 >