2016-08-14 61 views
0

我正在尝试获取JSON对象数组内的数字的值。在javascript上的JSON对象中获取数组索引

这里是JSON对象看起来像

{ 
    "item[]": [ 
      "1", 
      "2", 
      "3", 
      "4", 
      "5", 
      "6", 
      "8", 
      "7", 
      "9", 
      "10", 
      "11", 
      "12" 
    ] 
} 

该对象来自一个jQuery连载。我已经试过了,

var obj = req.body; 
obj.length //Returns undefined 

obj.item ///Return undefined 

obj.item[] //Program crashes 

我需要访问的价值,所以我可以使它看起来像:

我如何通过在javascript循环实现这一目标?

+5

'OBJ [ '项目[]'] length' –

+0

'VAR OBJ = req.body;'如果这个代码是节点服务器上,则你在做'app.use (bodyParser.json())'在节点上? –

+0

JSON是数据交换的*文本符号*。 [(More)](http://stackoverflow.com/a/2904181/157247)如果你正在处理JavaScript源代码,而不是处理*字符串*,那么你不会处理JSON。如果您*处理字符串,请使用'JSON.parse'解析它,此时您不再处理字符串。但鉴于'obj.length'是未定义的,这听起来像你没有处理一个字符串。 –

回答

4

您应该使用括号符号obj['item[]']而不是点符号,然后您可以使用forEach循环来获取数组的每个元素。

var obj = {"item[]":["1","2","3","4","5","6","8","7","9","10","11","12"]} 
 

 
obj['item[]'].forEach(function(e, i) { 
 
    console.log('Index ' + i + ' = ' + e); 
 
})