我建立与下面的代码一个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