Правильная ссылка на JSON в Python.Строки против целых и вложенных элементов - PullRequest
0 голосов
/ 25 сентября 2018

Пример файла 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 голосов
/ 25 сентября 2018

Если вы используете обычный модуль 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']]

Надеюсь, это то, что вы хотели!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...