Разбор сложных файлов JSON «не определено»

1

Я получил "undefined", пытаясь проанализировать этот файл JSON:

 {
"responses": [
    {
      "labelAnnotations": [
        {
          "mid": "/m/01yrx",
          "description": "cat",
          "score": 0.9926739,
          "topicality": 0.9926739
        },
        {
          "mid": "/m/01l7qd",
          "description": "whiskers",
          "score": 0.9639658,
          "topicality": 0.9639658
        },
        {
          "mid": "/m/083jv",
          "description": "white",
          "score": 0.9582038,
          "topicality": 0.9582038
        },
        {
          "mid": "/m/0k0pj",
          "description": "nose",
          "score": 0.9425352,
          "topicality": 0.9425352
        },
        {
          "mid": "/m/06z04",
          "description": "skin",
          "score": 0.92025506,
          "topicality": 0.92025506
        }
      ]
    }
  ]
}

Этот файл является результатом XMLHttpRequest из API видения google. Это то, что я делаю, чтобы напечатать поле описания:

e.onload=function(){
  var i= JSON.parse(e.response);
  value = i.responses[0]["description"];
  alert(value);
};
  • 6
    value = i.responses[0].labelAnnotations[0]["description"];
  • 0
    я получил Невозможно прочитать свойство '0' неопределенного с этой строкой "i.responses.labelAnnotations [0] [" description "];"
Показать ещё 2 комментария
Теги:

1 ответ

2
Лучший ответ

"undefined" исходит из нижеследующего утверждения

value = i.responses[0]["description"];

как labelAnnotations - это объект внутри массива, который вы найдете в описании, используя

value = i.responses[0].labelAnnotations[0]["description"];

Ещё вопросы

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