在处理distance_matrix api的响应以处理可能无法返回duration_in_traffic的情况(由于流量数据不足)时,我无法理解使用dict.get
的正确方法
{'destination_addresses': ['some location],
'origin_addresses': ['some startpoint'],
'rows': [{'elements': [{'distance': {'text': '201 km', 'value': 201046},
'duration': {'text': '2 hours 12 mins', 'value': 7893},
'duration_in_traffic': {'text': '2 hours 29 mins', 'value': 8920},
'status': 'OK'}]}],
'status': 'OK'}
该响应被检测为字典,如果我输出键,我将得到
dict_keys(['destination_addresses', 'origin_addresses', 'rows', 'status'])
但我不清楚如何合并.get()
以获得'duration_in_traffic'
or return a default value处理可能的KeyError
(我知道我的响应不会解决该错误,但是在大约15,000个请求中,我遇到了一些并希望改善代码以应对)
我应该只使用
try:
DurationTrafficText=Distance_Demo["rows"][0]["elements"][0]["duration_in_traffic"]["text"]
except KeyError:
DurationTrafficText=0