Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中检查JSON响应中的空对象_Python_Json_Dictionary - Fatal编程技术网

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

在Python中检查JSON响应中的空对象,python,json,dictionary,Python,Json,Dictionary,我有下面的代码,它可以工作。我正在检查一个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['field

我有下面的代码,它可以工作。我正在检查一个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"
您可以与回退字典一起使用:

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

或按如下方式定义回退字典:

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

下面的代码工作得很好。我想这两种方法是一种偏好<代码>对于MyVAL中的问题:assignee=(问题['fields']['assignee']或{})。获取('displayName','Unassigned')
UNASSIGNED = {'displayName': 'Unassigned'}
for issue in myVals:
    assignee = (issue['fields']['assignee'] or UNASSIGNED)['displayName']