Не удалось получить значение JSON с помощью переменной - PullRequest
0 голосов
/ 19 апреля 2020

Я использую диалоговое окно для получения значения JSON на основе переменной. Я хочу предоставить Country как переменную, и wi sh для получения JSON результата по ней. Параметр Key после Country не извлекает ожидаемый результат.

Вот код:

  axios({
   "method":"GET",
    "url":"https://coronavirus-map.p.rapidapi.com/v1/summary/latest",
    "headers":{
    "content-type":"application/octet-stream",
    "x-rapidapi-host":"coronavirus-map.p.rapidapi.com",
    "x-rapidapi-key":"b69dXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX70148c1179"
    }
    })
    .then((response)=>{
      console.log(response.data);   //Works OK
      console.log("--myCountry from Variable--"+ myCountry);   //variable Works Ok
      console.log("--Total cases Response: Status--" + response.data.status);   //Status OK
      console.log("--Total Cases Response: Hardcoding Country variable--" + response.data.data.regions.india.total_cases);   //Total cases OK
      console.log("--Total Cases Response: System Input myCountry variable--" + response.data.data.regions[myCountry].total_cases);   // NOT OK!
})

Прикреплен скриншот ошибки: TypeError: Невозможно прочитать свойство 'total_cases' из не определено по оси ios .then Снимок журнала

Вот JSON response.data:JSON объект ответа

Как я могу получить «общее количество дел» по стране, используя переменную?

JSON Доступ к данным осуществляется с конечной точки.

Пример данных:

{
   "status":200,
   "type":"stack",
   "data":{
      "summary":{
         "total_cases":2243360,
         "active_cases":1518967,
         "deaths":153412,
         "recovered":570981,
         "death_ratio":0.06838492261607589,
         "recovery_ratio":0.25452045146565866
      },
      "change":{
         "total_cases":-18077,
         "active_cases":-14572,
         "deaths":-918,
         "recovered":-2587,
         "death_ratio":0.00014070444860095344,
         "recovery_ratio":0.000890569227064375
      },
      "generated_on":1587157203,
      "regions":{
         "india":{
            "name":"india",
            "total_cases":698851,
            "active_cases":602681,
            "deaths":36842,
            "recovered":59328,
            "death_ratio":0.052717961339398524,
            "recovery_ratio":0.08489363254828282
         }
      }
   }
}

1 Ответ

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

Я нашел ОТВЕТ, переменная должна была быть маленькими буквами:

var myCountry=(agent.parameters['geo-country']).toLowerCase()

Журнал результатов изображение показывает подсчет Индии, теперь высев

...