[英]Python : Get value from a list of Json dictionary
我需要從Google API響應中獲取值。 我有json響應,如下所示:
direct =
[{
'summary': 'Jakarta Inner Ring Road/Jl. Pantura/Jl. Tol Pelabuhan',
'legs': [{
'duration': {'value': 2130, 'text': '36 mins'},
'via_waypoint': [],
'start_address': 'North Jakarta, North Jakarta City, Special Capital Region of Jakarta, Indonesia',
'duration_in_traffic': {'value': 2475, 'text': '41 mins'},
'end_address': 'West Jakarta, West Jakarta City, Special Capital Region of Jakarta, Indonesia',
'start_location': {'lat': -6.138709899999999, 'lng': 106.8640136},
'distance': {'value': 17777, 'text': '17.8 km'},
'traffic_speed_entry': [],
'end_location': {'lat': -6.168346199999999, 'lng': 106.7588346}
}]
}]
我需要獲取duration
和到legs
distance
的value
我嘗試了幾種方法,這是我的最后一個代碼:
for who in direct:
act_dist = (direct ["legs"][0]["distance"]["value"])
act_time2 = (direct2 ["legs"][0]["duration"]["value"])
並得到以下錯誤:* Traceback(最近一次通話):
File "C:src/distance.py", line 34, in <module>
act_dist = (direct ["legs"][0]["distance"]["value"])
TypeError: list indices must be integers or slices, not str*
任何人都可以幫助解決這個問題嗎? 謝謝
您的代碼實際上應該是:
for who in direct:
act_dist = (who ["legs"][0]["distance"]["value"])
act_time2 = (who ["legs"][0]["duration"]["value"])
for d in direct:
for l in d['legs']:
print l['duration']
print l['distance']
您需要遍歷所有列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.