如何在jquery中返回对象值

时间:2016-09-22 18:39:54

标签: jquery

我不确定它是否真的是一个对象,但这就是它在控制台中所说的内容。

我有一个看起来像这样的对象

[{"id_no":"6798","name":"Annunication Of The Bvm","address1":"27335 N 8Th St "},
{"id_no":"6815","name":"Francis Of Paola  ","address1":"21229 Conselyea St "}]

如果是for循环,如何显示“name”的值。这是我尝试没有成功的原因

  success:function(data){

                console.log(data);
                var pardata = JSON.stringify(data);

                for(name in pardata) {
                    if(pardata.hasOwnProperty(name)) {
                        var value = pardata[name];
                         alert(value);
                         console.log(value);
                    }
                }

           }

2 个答案:

答案 0 :(得分:2)

你有Array objects - 而数组是一个对象,所以是的。您必须迭代数组,然后显示属性:

for (var i = 0; i < data.length; i++) {
    console.log(data[i].name);
}

您的问题是使用for...in(在数组的字符串版本上) - 用于迭代对象的属性。 name被分配了一个数组索引 - 所以data[name]实际上是在该索引处选择一个对象。 data[name].name可能会有效 - 但这不是迭代数组的正确方法。

答案 1 :(得分:1)

Demo

var val=[{"id_no":"6798","name":"Annunication Of The Bvm","address1":"27335 N 8Th St "},
{"id_no":"6815","name":"Francis Of Paola  ","address1":"21229 Conselyea St "}]
//Method 1
$('button').click(function(){
  $.each(val,function(i,e){
    $('div').append('<p>'+e.name+'</p>');     
  });  
})
//Method 2
$('button').click(function(){
  $pList='';
  $.each(val,function(i,e){
    $pList+='<p>'+e.name+'</p>';     
  });
  $('div').html($pList);
})