Я пытаюсь проанализировать следующий API-интерфейс freebase в jQuery.
Но у меня проблема, когда я пытаюсь получить доступ к /common/topic/image
"mId" для изображения.
Может ли любой орган рассказать мне, что является правильным способом доступа к объектам или массивам, которые связывают "/common/topic/image"
эти типы ключей.
Благодарю!
$.getJSON("https://www.googleapis.com/freebase/v1/search?query=us%20president&filter=(all%20type:/people/person)&output=(/common/topic/image)", function (data) {
var r = data.result;
// iterate each result
$.each(r, function (i, j) {
var arr = j.output['/common/topic/image'];
//iterate each arr['/common/topic/image']
$.each(arr['/common/topic/image'], function (k, l) {
console.log(l);
});
});
});
См. JSFiddle
Из ваших комментариев,
Если вы проверите свой json
, последний result
иметь имя /common/topic/image
.
Поэтому, когда он попытался выполнить итерацию, он не смог [Не удалось получить длину].
Поэтому просто добавьте к нему условие, например if (arr['/common/topic/image']) {...}
. Теперь, если у него есть пустой элемент, он будет пропущен.
Проверьте эту скрипку http://jsfiddle.net/praveen_jegan/6MCKA/2/
Если ключ объекта содержит точки или косые черты, вы можете получить к нему доступ таким образом:
var o = {
'some.key': 123,
'another/key': 321
};
console.log(o['some.key'], o['another/key']);