如何迭代json消息';是否使用jquery创建嵌套数组?
如何使用jquery迭代这个json消息的嵌套数组(即“orders”)如何迭代json消息';是否使用jquery创建嵌套数组?,jquery,json,Jquery,Json,如何使用jquery迭代这个json消息的嵌套数组(即“orders”) [{"Type":"X","Symbol":"AAP","BidPrice":17.0, "OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0, "orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""}, "BidQuantity":"5","
[{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}]}
我试过下面的方法,但不起作用
$.each(data, function(i, item) {
$('#last').text(data[i].LastTradePrice);
var ords = item.orders;
$.each(ords, function(x,ork) {
alert(ork[x].BidPrice);
});
});
我在firefox控制台中遇到以下错误
ork[x]未定义您的json在
“orders:[
,应该是“orders”:[
,您还忘了用}
将每个对象包含在orders
数组中
在任何情况下,您都不需要将jquery用于以下内容:
for(var i = 0; i < inputs.length; i++) {
alert(inputs[i].BidPrice);
}
您的json在
“orders:[
”处无效,应该是“orders”:[
,您还忘了将每个对象用}
括在orders
数组中
在任何情况下,您都不需要将jquery用于以下内容:
for(var i = 0; i < inputs.length; i++) {
alert(inputs[i].BidPrice);
}
$。每个
调用带有索引和项的回调。该项不需要像该索引那样命名属性,该数据具有
$.each(data, function(i, item) {
item === data[i];
})
因此,不要在代码中使用data[i]
而是item
,也不要使用ORD[x]
或ork[x]
而是ork
。此外,如果不需要迭代器函数,也不要使用它们!Javascript具有内置循环语法:-)
for(var i=0;i$)。每个
调用带有索引和项的回调。项不需要具有与该索引类似的属性,而数据具有该属性
$.each(data, function(i, item) {
item === data[i];
})
因此,不要在代码中使用data[i]
而是item
,也不要使用ORD[x]
或ork[x]
而是ork
。此外,如果不需要迭代器函数,也不要使用它们!Javascript具有内置循环语法:-)
for(var i=0;iJSON中还有其他错误,我认为正确的JSON是:
[{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}]}]
假设这是正确的,那么jQuery就快到了。在第二次回调中,“ork”是order对象,您不需要使用“x”对其进行索引。这应该可以:
$.each(ords, function(x,ork) {
alert(ork.BidPrice);
});
如果您复制/粘贴此代码,它应该可以工作,对我来说也可以:
var data = [{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}]}]
$.each(data, function(i, item) {
var ords = item.orders;
$.each(ords, function(i, ork) {
alert(ork.BidPrice);
});
});
您的JSON中还有其他错误,我认为正确的JSON是:
[{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}]}]
假设这是正确的,那么jQuery就快到了。在第二次回调中,“ork”是order对象,您不需要使用“x”对其进行索引。这应该可以:
$.each(ords, function(x,ork) {
alert(ork.BidPrice);
});
如果您复制/粘贴此代码,它应该可以工作,对我来说也可以:
var data = [{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}]}]
$.each(data, function(i, item) {
var ords = item.orders;
$.each(ords, function(i, ork) {
alert(ork.BidPrice);
});
});
假设这是您的Json
var sbk =
[{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}] }];
这是您的脚本:
$.each(sbk, function(i, item) {
var ords = item.orders;
$.each(ords, function(i, ork) {
console.log(ork.BidPrice);
alert(ork.BidPrice);
});
检查这里:假设这是您的Json
var sbk =
[{"Type":"X","Symbol":"AAP","BidPrice":17.0,
"OfferPrice":0.0,"BidQty":9,"OfferQty":0,"LastTradePrice":17.0,
"orders":[{"BidQuantity":"12","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"5","BidPrice":"17.0","OfferQuantity":"","OfferPrice":""},
{"BidQuantity":"2","BidPrice":"16.0","OfferQuantity":"","OfferPrice":""}] }];
这是您的脚本:
$.each(sbk, function(i, item) {
var ords = item.orders;
$.each(ords, function(i, ork) {
console.log(ork.BidPrice);
alert(ork.BidPrice);
});
检查这里:将我的代码更改为以下方式,对我来说效果非常好
$.each(data, function(i, item) {
alert(data[i].Symbol); /* retrieve values from first json array */
if(data[i].orders != null){
for(var j=0; j<data[i].orders.length; j++){
alert(item.orders[j].BidPrice);/* retrieve json values from nested array */
}
}
}
$。每个(数据、功能(i、项){
警报(数据[i].Symbol);/*从第一个json数组中检索值*/
如果(数据[i].orders!=null){
对于(var j=0;j来说,将代码更改为下面的方式对我来说效果非常好
$.each(data, function(i, item) {
alert(data[i].Symbol); /* retrieve values from first json array */
if(data[i].orders != null){
for(var j=0; j<data[i].orders.length; j++){
alert(item.orders[j].BidPrice);/* retrieve json values from nested array */
}
}
}
$。每个(数据、功能(i、项){
警报(数据[i].Symbol);/*从第一个json数组中检索值*/
如果(数据[i].orders!=null){
对于(var j=0;jquery您的JSON无效;括号不平衡。您的JSON无效;括号不平衡。感谢您提到JSON消息中的错误,我已经纠正了这一点,但我需要知道jquery的方式,因为我已经使用了jqueryorders中的所有脚本,它们是一个嵌套数组,所以我需要以这种方式获得其中的所有四行获取orders数组的第一行由于提到json消息中的错误,我已经纠正了这一点,但我需要知道jquery的方式,因为我使用了jqueryorders中的所有脚本,所以我需要从中获取所有四行,这样我只获取orders数组的第一行没有{“数据”:part in it没有{“Data”:part in it it im get firefox控制台中的“ork is not defined”错误我已经在我的答案中添加了一个有效的解决方案,如果你复制粘贴它,它就会起作用。如果它不起作用…你还有其他问题:)这样,我只得到orders数组的第一行。它不会打印所有的行,直到im getfirefox控制台中的“ork未定义”错误我已经在我的答案中添加了一个有效的解决方案,如果你复制粘贴它,它就会工作。如果它不工作…你还有其他问题:)这样我只得到orders数组的第一行。它不会打印所有行