这是我要解析的对象:
my.test = [{"Customer":
{
"id":"123",
"Name":"john"
}
}]
我已经有了这个:
$.each(Cmy.test, function(index, value) {
$.each(value.Customer, function(innerIndex, innerValue) {
alert('File ' + innerValue.id + ' in customer ' + index);
});
});
但我的alert()
会显示undefined
的值。我做错了什么?
答案 0 :(得分:4)
my.test = [{"Customer":
{
"id":"123",
"Name":"john",
}
应该是
my.test = [{"Customer": {
"id":"123",
"Name":"john"
}}];
然后像这样迭代:
$.each(my.test, function(index) {
alert('File ' + my.test[index].Customer.id + ' in customer ' + index);
});
至少那是我认为你正在寻找的。 p>
答案 1 :(得分:2)
请参阅jQuery.each - 在迭代“非数组”对象时,回调传递(key, value)
。
例如,在上面的示例中,回调可以传递key
的“id”和value
的“123”。因此,"123".id
(innerValue.id
)很可能是荒谬的,因为它会评估为未定义。
外循环没问题,因为(index, value)
在数组的回调中传递。在这种情况下,值为{Customer: ...}
。
快乐的编码。