我可以获取'name'值而不是'Orders'似乎Orders被返回为object而不是Array?
json.json
[{ "ID":"23",
"LastName":"Moe",
"FirstName":"Ronnie",
"Orders":[{"OrderNumber":"11","ItemNumber":"22"},
{"OrderNumber":"33","ItemNumber":"44"}]}]
myHTML.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>');
});
});
})
});
答案 0 :(得分:2)
应该是this.Orders
或val.Orders
,而不是data.Orders
答案 1 :(得分:1)
请参阅下面提到的这个小提琴http://jsfiddle.net/KyleMuir/jcr79/3 - 您正在迭代数据两次。您需要指向正确的数据源。
对于警报,您需要提醒对象的属性,而不是整个对象。例如。 alert(value.OrderNumber)
警报只会打印出对象的字符串表示形式(“[object object]”)。
Console.log将记录整个对象。
希望这会有所帮助:)