javascript - 从 AJAX 检索对象列表中的对象打印特定属性?

标签 javascript java jquery json ajax

我正在使用 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/

相关文章:

javascript - 动态 js 表不工作

javascript - 个性化 d3 x 轴标签

java - 方法 org.postgresql.jdbc.PgConnection.createClob() 尚未实现

java - Spring-MVC 正在向用户输入的 URL 添加额外的 .jsp 扩展名

jquery - 有效检测兄弟元素何时重叠

javascript - 在一个成功的内部进行 ajax 调用可以被认为是不好的做法吗?

javascript - 如何计算 VU 表刻度的对数标签?

javascript - 如何检测滚动条的一侧?

java - 还有比HashMap更简单的方法吗?

jquery - 动态 iframe 宽度在 FF8/IE9 中不起作用