2012-10-22 21 views
1

我有以下正從一個自定義WordPress的類型後通過get-client-logos.php如何獲取鍵值對中的json值?

[{ 
    "name": "One", 
    "url": "http://localhost/wp-content/uploads/2012/10/random04-128x84.jpg"}, 
{ 
    "name": "Two", 
    "url": "http://localhost/wp-content/uploads/2012/10/chuck_norris_random_fact_generator_6_3957_2224_image_2578-128x84.jpg" 
}]​ 

我試圖從每個JSON對象中提取的URL像這樣迴應:

$.getJSON('get-client-logos.php/', function (data) { 
    var items = []; 

    $.each(data, function(key, val) { 
    items.push('<img src ="' + val + '"/>'); 
    }); 

    console.log(items); 
}); 

在console.logging,我得到如下:

["img src ="[object Object]"/", "img src ="[object Object]"/"]

怎樣才能返回值插件類型的tead?

+2

什麼是'value'的url屬性?你甚至沒有這個名字的變量。我認爲這是一個錯字,你真正的代碼使用'val'? –

+1

總是讓我想知道如何在粘貼代碼時犯錯: – GolezTrol

+0

我的不好。編輯。 – iggy2012

回答

2

你有什麼是對象的數組等等$.each是要通過indexobject ..嘗試下面的代碼。

$.each(data, function(idx, val) { 
items.push('<img src ="' + val.url + '"/>'); 
}); 
1

val是一個對象,您知道該對象有一個名爲url的鍵。用點符號可以從對象中獲取值。

$.getJSON('get-client-logos.php/', function (data) { 
    var items = []; 

    $.each(data, function(key, val) { 
    items.push('<img src ="' + val.url + '"/>'); 
    }); 

    console.log(items); 
}); 

具體行

items.push('<img src ="' + val.url + '"/>'); 
1

的JSON包含對象的陣列,所以在each,關鍵是數組的索引和值的對象。要獲取的價值,用途:

items.push('<img src ="' + val.url + '"/>'); 
1

試試這個

嘗試val.url

$.each(data, function(key, val) { 
    items.push('<img src ="' + val.url + '"/>'); 
    }); 

在這裏,在第一次迭代val爲對象

{"name": "One","url": "http://localhost/wp-content/uploads/2012/10/random04-128x84.jpg"} 

您需要url這裏因此使用val.urlval["url"] sh烏爾德解決問題..

1

數組包含對象,你需要獲取對象

$.getJSON('get-client-logos.php/', function (data) { 
    var items = []; 

    $.each(data, function(key, val) { 
    items.push('<img src ="' + val.url + '"/>'); 
    }); 

    console.log(items); 
});