Правильная ссылка на JSON в Python. Строки против целых и вложенных элементов

1

Пример файла 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"
}

Я ищу ссылку на текстовое значение для расстояния и продолжительности. Я сделал исследование, но я все еще не уверен, что я делаю неправильно...

У меня есть работа с несколькими строками кода, но я ищу чистое однострочное решение.

Спасибо за вашу помощь!

  • 3
    Вы забыли показать нам свой код. Используете ли вы стандартный модуль json для загрузки этих данных?
Теги:
nested

1 ответ

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']]

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

  • 1
    docs.python.org/3/library/json.html#json.load
  • 0
    Ох, теперь я понимаю, что я делаю не так. Спасибо вам большое!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню