Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何迭代json消息';是否使用jquery创建嵌套数组?_Jquery_Json - Fatal编程技术网

如何迭代json消息';是否使用jquery创建嵌套数组?

如何迭代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","

如何使用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","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数组的第一行。它不会打印所有行