我试图在jQuery中解析以下freebase API。
但是当我尝试访问 /common/topic/image
“mId”图片时,我遇到了问题。
任何正文都可以告诉我访问包含"/common/topic/image"
这些类型密钥的对象或数组的正确方法。
谢谢!
答案 0 :(得分:1)
$.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']) {...}
一样添加一个条件。现在如果它有空元素,它将被跳过。
答案 1 :(得分:0)
如果对象键包含点或斜线,则可以通过以下方式访问它:
var o = {
'some.key': 123,
'another/key': 321
};
console.log(o['some.key'], o['another/key']);