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

时间:2016-01-27 15:25:40

标签: 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对象输出name属性。

由于

4 个答案:

答案 0 :(得分:3)

您可以使用for in循环遍历Json属性:

SELECT * FROM `users` WHERE  CONCAT(`name`, ' ', `lastname`) REGEXP'.*{SEARCH_DATA}.*'

例如,如果对象是:

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>'; 
}
&#13;
&#13;
&#13;

如果您只有一个对象并且想要获取属性名称,则可以使用以下命令:

<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);
}

希望这有帮助。

答案 1 :(得分:1)

在不了解您的json结构的情况下,试试这个。

$.each(data,function(key,val){
    console.log(val.name);
})

答案 2 :(得分:0)

您可以收集列表中每个对象的属性,如下所示:

var suggestions = $.map(data, function(record) {
   return {id:record['id'], name:record['name']};
});

你得到一个对象数组[{id:1,名字:'Bob'},{id:2,名字:'Sam'}]

答案 3 :(得分:0)

jQuery具有内置功能,可以执行如下操作:http://api.jquery.com/jquery.getjson/

从文档修改

$.getJSON( "searchcontroller", function( json ) {
   //where `json` is your JSON data
   console.log( "NAME from JSON Data: " + json.name );
 });

基本上它的作用是从&#34; test.json&#34;获取JSON数据。或者您喜欢的任何来源,并将JSON数据放入我们可以使用变量名json访问的对象中。您可以通过json.name获取名称字段。