Печать JSON данных из нескольких модулей API Links with Requests - PullRequest
0 голосов
/ 28 апреля 2020

В настоящее время я пытаюсь распечатать данные JSON из списка ссылок API, я перебираю ссылки API по отдельности и пытаюсь распечатать данные задержки следующим образом: ['notifications'][2]['updates']['latency']['value']['float'])

Это работает, когда я пытаюсь использовать только одну ссылку, и я могу видеть значение с плавающей точкой, однако, когда я пытаюсь распечатать все ссылки, я получаю сообщение об ошибке: IndexError: индекс списка вне диапазона

My код выглядит следующим образом (без ссылок):

URLs = [
 'www.linkhere.com',
 'www.linkhere.com',
 'www.linkhere.com',
 'www.linkhere.com'
]

for line in URLs:
    jsonrequest = requests.get(line, cookies=cookies, verify=False).json()
    print(jsonrequest['notifications'][2]['updates']['latency']['value']['float'])

JSON выглядит следующим образом:

{
  "notifications": [
    {
      "timestamp": "511513234234",
      "path_elements": [
        "Devices",
        "DEVICE1",
        "versioned-data",
        "connectivityMonitor",
        "status",
        "hostStatus",
        "DEVICE123-Et10",
        "defaultStats"
      ],
      "updates": {
        "httpResponseTime": {
          "key": "httpResponseTime",
          "value": {
            "float": 0
          }
        }
      }
    },
    {
      "timestamp": "15153324243",
      "path_elements": [
        "Devices",
        "DEVICE1",
        "versioned-data",
        "connectivityMonitor",
        "status",
        "hostStatus",
        "DEVICE123-Et10",
        "defaultStats"
      ],
      "updates": {
        "packetLoss": {
          "key": "packetLoss",
          "value": {
            "int": 0
          }
        }
      }
    },
    {
      "timestamp": "151522324234",
      "path_elements": [
        "Devices",
        "DEVICE1",
        "versioned-data",
        "connectivityMonitor",
        "status",
        "hostStatus",
        "DEVICE123-Et10",
        "defaultStats"
      ],
      "updates": {
        "latency": {
          "key": "latency",
          "value": {
            "float": 0.238756565643454
          }
        }
      }
    },
    {
      "timestamp": "158056745645645",
      "path_elements": [
        "Devices",
        "DEVICE1",
        "versioned-data",
        "connectivityMonitor",
        "status",
        "hostStatus",
        "DEVICE123-Et10",
        "defaultStats"
      ],
      "updates": {
        "jitter": {
          "key": "jitter",
          "value": {
            "float": 0.03500000213213
          }
        }
      }
    }
  ]
}

1 Ответ

0 голосов
/ 28 апреля 2020

Эта проблема устранена, я забыл проверить ссылку в своем коде, где я забыл добавить / defaultStats? Довольно, чтобы отформатировать JSON, поэтому ссылка на моей веб-странице была правильной, которую я использовал для просмотра JSON данных, однако я пропустил часть ссылки в своем коде Python, но я все еще ссылался на то, что видел в своем веб-браузере, вместо того чтобы открывать ссылку, которую использовал в своем коде, который был неправильным URL.

Любительская ошибка, однако, теперь устранена, и данные напечатаны

...