我不确定它是否真的是一个对象,但这就是它在控制台中所说的内容。
我有一个看起来像这样的对象
[{"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);
}
}
}
答案 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)
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);
})