在Python中正确引用JSON。字符串与整数和嵌套项

时间:2018-09-24 23:43:32

标签: python json nested

下面的示例JSON文件

{
   "destination_addresses" : [ "New York, NY, USA" ],
   "origin_addresses" : [ "Washington, DC, USA" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "225 mi",
                  "value" : 361715
               },
               "duration" : {
                  "text" : "3 hours 49 mins",
                  "value" : 13725
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}

我正在寻找距离和持续时间的文字值。我已经做过研究,但是我仍然不确定自己在做什么错...

我正在使用几行代码,但是我正在寻找一种干净的一行解决方案。.

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您使用常规的JSON模块:

import json

您正在这样打开JSON:

json_data = open("my_json.json").read()
data      = json.loads(json_data)

# Equivalent to:
data      = json.load(open("my_json.json"))

# Notice json.load vs. json.loads

然后这应该做您想要的:

distance_text, duration_text = [data['rows'][0]['elements'][0][key]['text'] for key in ['distance', 'duration']]

希望这就是您想要的!