[英]extracting particular values from JSON
我正在使用Google Distance Matrix API,並且得到的響應是JSON:
{
"destination_addresses" : [ "Chandigarh, India" ],
"origin_addresses" : [ "Delhi, India" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "244 km",
"value" : 243506
},
"duration" : {
"text" : "3 hours 54 mins",
"value" : 14069
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
我想從JSON, destination_address
, origin_address
, distance
, duration
和status
獲取以下值。 這是我正在嘗試的代碼:
import requests as r
import json
a = r.get("https://maps.googleapis.com/maps/api/distancematrix/json?origins=Delhi&destinations=Chandigarh&key=key")
#text form of a
tfa = a.text
print(tfa)
with open('data.json','w') as outfile:
json.dump(tfa,outfile)
json_data = json.loads(tfa)
print(json_data["destination_addresses"])
print(json_data["origin_addresses"])
print(json_data["rows"][0]["elements"][0]["distance"])
print(json_data["rows"]["elements"]["duration"])
那我收到的輸出給了我目標的起源和距離,但我得到一個錯誤,當我嘗試搶工期,也內側值distance
打印為'text':'244km','value':23432
,但我只想獲取值而不是其標簽。 有什么辦法嗎? 還有可能限制在distance
元素內提取的值(因為我只希望文本而不是value )?
print(json_data["rows"][0]["elements"][0]["distance"]["value"])
將["value"]
添加到當前代碼中只會顯示該值。
print(json_data["rows"]["elements"]["duration"])
您嘗試從與距離相同的水平上獲得一些東西,但是卻忘記了這一行中的[0]
。 您基本上可以復制並粘貼打印距離值的代碼,但distance
用duration
代替distance
:
print(json_data["rows"][0]["elements"][0]["duration"]["value"])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.