我有一个像这样的JSON数组:
{"items":[{"itemId":"1","ndc":"ndc 1","upc":"upc 1","description":"Test Item 1","abc6":"11"}],"searchString":"1","lineNumber":10}
我正在使用这样的jQuery AJAX:
function ajaxGetData() {
var productid = $(this).val();
var line = parseInt($(this).parents("td").siblings(".row-target").text());
$.ajax({
type: "post",
url: "searchItem.do?originalInput=" + productid + "&lineNumber=" + line,
})
.done(function(data) {
var done = data.items["description"];
alert(done);
});
}
我的警报未定义。如何访问此对象中的数据?
答案 0 :(得分:4)
items
是一个数组。您必须访问第一个数组元素。
data.items[0].description
答案 1 :(得分:0)
你需要:
data.items[0]['description']
你有一个包含一个对象数组的对象,但只是引用一个对象。
答案 2 :(得分:0)
这就是我通常做的事情:
var descriptions=[];
$.each(data.items, function(idx,item){
descriptions.push(item.description);
});
alert(descriptions);
如果我需要这个数组中的描述和一个itemId,它将是:
var descriptions=[];
$.each(data.items, function(idx,item){
descriptions.push({
itemId : item.itemId,
description: item.description
);
});
alert(descriptions);
关键是items
是一个没有名为description
的属性的集合。您必须枚举每个项目才能访问它。
还有一件事,如果您使用的是item["description"]
而不是item.description
,则会在代码编辑器中丢失智能感知。