【发布时间】:2013-09-20 01:27:26
【问题描述】:
我可以获取“名称”值,但不能获取“订单”,似乎订单是作为对象而不是数组返回的?
json.json
[{ "ID":"23",
"LastName":"Moe",
"FirstName":"Ronnie",
"Orders":[{"OrderNumber":"11","ItemNumber":"22"},
{"OrderNumber":"33","ItemNumber":"44"}]}]
我的HTML.html
$.getJSON('json.json',
{},
function (data) {
$.each( data, function ( i, val ) {
var lastname=this.LastName;
var firstname=this.FirstName;
var orders=this.Orders;
$.each(data.Orders, function(property, value) {
alert(property + "=" + value);
//Insert the data to HTML page
$(".title").append('<li>'+lastname+', '+firstname+' >'+'</li>');
$(".title").append('<li>'+orders+'</li>');
});
});
})
});
【问题讨论】:
-
参见下面提到的这个小提琴jsfiddle.net/KyleMuir/jcr79/3 - 您正在对数据进行两次迭代。
-
仍然返回 [object] 而不是值 - 我更新 jsfiddle.net 以显示带有警报的结果..?
-
那是因为 alert 会将它串起来,console.log 会记录整个对象。如果您将其切换为
alert(value.OrderNumber)或类似名称,您将看到值。 -
非常感谢,这行得通!我对这个对象感到困惑 - 我如何为这个答案表示感谢?
-
我会把它作为答案发布,你可以接受它:) 很高兴能提供帮助。
标签: jquery json multidimensional-array getjson