[Python 2.7]Python鏈接get()方法與列表元素JSON內
我有一個JSON源,並不總是返回所需的鍵的完整列表。我使用鏈接的gets()來解決這個問題。
d = {'a': {'b': 1}}
print(d.get('a', {}).get('b', 'NA'))
print(d.get('a', {}).get('c', 'NA'))
>>> 1
>>> NA
但是,有些類型的字典在列表中:
d = {'a': {'b': [{'c': 2}]}}
print(d['a']['b'][0]['c'])
>>> 2
我不能使用get()方法,考慮到這一點,因爲列表不支持的get()屬性:
d.get('a', {}).get('b', []).get('c', 'NA')
>>> AttributeError: 'list' object has no attribute 'get'
除了俘獲數百潛在KeyErrors的,有()以類似的方式與鏈GET(構建體上文)以考慮到潛在的缺失['c']
優選的方法?
'.get('b',[{}])[0]',也許? – jonrsharpe
_「除了捕獲數百個潛在的KeyErrors,[...]」_有什麼錯誤的嘗試:...除了:'? –
@jonrsharpe:謝謝。這正是我所期待的。請考慮加入這個問題作爲答案。 – DaveL17