2013-11-28 91 views

回答

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']) {...}。現在,如果它有空元素,它將被跳過。

檢查此小提琴http://jsfiddle.net/praveen_jegan/6MCKA/2/

+1

Thanx Praveen Jeganathan。 – ARV

+0

@ARV我很高興能夠幫助我的朋友。 – Praveen

+0

你好Praveen Jeganathan我得到的錯誤,「Uncaught TypeError:無法讀取屬性的'未定義的長度'在$ .each(arr ['/ common/topic/image'],函數(索引,圖像){} – ARV

0

如果對象鍵包含點或斜線,您可以訪問它以這樣的方式

var o = { 
'some.key': 123, 
'another/key': 321 
}; 

console.log(o['some.key'], o['another/key']);