我建立與下面的代碼一個JSON對象:無法通過JSON對象進行迭代
$.ajax({
type: "POST",
url: "/_layouts/WP/Handler.aspx/GetProductAssets",
data: '{ "productId": "'+productcode+'" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var order = "";
var data = response.d;
var Groups = [];
var json = [];
$.each(data, function(key, value){
if($.inArray(value.AssetType, Groups) == -1){
Groups.push(value.AssetType);
}
});
$.each(Groups, function(key, value){
var groupassets = [];
$.each(data, function(key2, value2){
if(value2.AssetType == value)
groupassets.push(value2);
});
json.push("{'group': '" + value + "', 'assets': " + groupassets + "}");
});
alert(json);
$.get('/common/js/assettemplate.htm', function (template) {
$('body').append(template);
$("#assetTemplate").tmpl(json).appendTo("#support-download-results");
});
},
});
已創建並在代碼驚動了JSON對象,產生如下:
{'group': 'test', 'assets': [object Object]}, {'group': 'test2', 'assets': [object Object]}
當我試圖通過使用json[0].group
我得到undefined
。我沒有正確訪問或建立這個json對象嗎?我似乎無法得到任何數據的價值,他們都沒有定義。
我想你根本不想創建JSON ....我想你應該創建一個JavaScript對象。 –
您似乎在循環瀏覽JSON對象以創建另一個JSON對象 - 請問爲什麼? – Blazemonger
如果你的json變量是一個包含兩個對象的數組,當你alert()時,你會看到「[object Object],[object Object]」,就是這樣。 – Crontab