[
[
{
"Id": 3,
"Code": "232",
"TicketImage": "0"
}
],
[
{
"Id": 1,
"Code": "23",
"TicketImage": "1"
},
{
"Id": 2,
"Code": "24",
"TicketImage": "1"
}
],
[]
]
我有这个 JSon 对象,我正在尝试解析它。
var res = jQuery.parseJSON(JSON.stringify(obj.Message));
$.each(res, function (i, tickets) {
$.each(tickets, function (i, ticket) {
console.log($(this));
});
});
当我尝试这个时,我得到了无数个带有字母的弹出窗口。但我想要对象。
我如何解析这个 JSON 数据?
更新:
$.each(res, function (i, tickets) {
$.each(tickets, function (i, ticket) {
console.log(ticket.Code);
console.log(ticket.TicketImage);
});
});
做到了。
最佳答案
小心你覆盖了 i 变量:
$.each(res, function (i, tickets) {
$.each(tickets, function (j, ticket) {
console.log(this);
// as a full string
console.log(this.ticketId+' : '+JSON.stringify(this));
});
});
除了这个小东西,你的循环是正确的,你不需要你的'this'上的jquery包装器。在 $.each(array,function(k,v){}) 中,k 变量是检索当前对象的键,v 是它的值,因此您也可以通过这样做来访问它:
$.each(res, function (i, tickets) {
$.each(res[i], function (j, ticket) {
console.log(res[i][j].ticketId+' : '+res[i][j]);
// which is the exact same thing as :
console.log.(ticket);
// and even this:
console.(this);
});
});
使用“this”的相同代码:
$.each(res, function (i, tickets) {
$.each(this, function (j, ticket) {
console.log(this.ticketId+' : '+this);
});
});
使用每个值:
$.each(res, function (i, tickets) {
$.each(tickets, function (j, ticket) {
console.log(ticket.ticketId+' : '+ticket);
});
});
关于javascript - json foreach数组数组与jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490305/