我正在使用 AJAX 调用以 JSON 格式从数据库返回对象列表。 然后将这些显示为自动完成文本输入的一部分。 问题是我想输出/显示列表中每个对象的 NAME 属性。
$(function() {
$("#ingredient-search").autocomplete({
source : function(request, response) {
$.ajax({
url : "searchcontroller",
type : "GET",
data : {
term : request.term
},
dataType : "json",
success : function(data) {
response(data);
}
});
}
});
实际的 AJAX 等工作正常。我只是不确定如何遍历“数据”中的每个元素并输出每个 JSON 对象的名称属性。
谢谢
最佳答案
您可以使用 for in循环遍历 Json 属性:
for(var key in data.dates) {
console.log('a = '+data[key]["a"]+', b = '+data[key]["b"]);
}
例如,如果对象是这样的:
data = [{"a":1,"b":"test b1"},{"a":2,"b":"test b2"},{"a":3,"b":"test b3"}];
输出将是:
a = 1, b = test b1
a = 2, b = test b2
a = 3, b = test b3
片段
var data = [{"a":1,"b":"test b1"},{"a":2,"b":"test b2"},{"a":3,"b":"test b3"}];
for(var key in data) {
document.getElementById('result').innerHTML += 'a = '+data[key]["a"]+', b = '+data[key]["b"]+'<br>';
}
<span id='result'></span>
如果你只有一个对象并且你想获取属性名称,你可以像下面这样获取它们:
var data = {"a":1, "b":"test b", "c":"test c", "d":215, "e":"test e"}
for(var key in data) {
console.log(key);
}
输出将是:
a
b
c
d
e
希望这对您有所帮助。
关于javascript - 从 AJAX 检索对象列表中的对象打印特定属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041355/