簡體   English   中英

從JSON提取特定值

[英]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_addressorigin_addressdistancedurationstatus獲取以下值。 這是我正在嘗試的代碼:

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] 您基本上可以復制並粘貼打印距離值的代碼,但distanceduration代替distance

print(json_data["rows"][0]["elements"][0]["duration"]["value"])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM