繁体   English   中英

node.js无法从循环解析

[英]node.js cant parse from a loop

我有一个json格式的字符串数组。 我想循环解析它。 它不在该循环中解析。 在第一个元素之后,它给与意外令牌错误。

例如:

Array[{"id":10}, {"id":10}, {"id":10}, {"id":10}, {"id":10}]
for(var i:Number=0; i<Array.length; i++)
{
 // passing each json string to function
 main_function(Array[i]);
}

function main_function(data)
{
try{
var jsn= JSON.parse(data);
}catch(err)
{
}
}

这给出了意外的令牌错误消息。 有什么解决办法?

谢谢。

我不确定您要在这里做什么。 但是,如果您想对每个对象(在您的情况下是5个对象,其属性id的值为10 )进行操作,则可以执行以下操作:

var myArray = [{"id":10}, {"id":10}, {"id":10}, {"id":10}, {"id":10}];
for(var i=0; i<myArray.length; i++)
{
 // passing each object to your main data function
 main_function(myArray[i]);
}

function main_function(data)
{
  console.log(data.id);
}

您不需要JSON.parse因为您的数组已经由对象组成。 当接收的是字符串而不是直接对象数组时,可以使用JSON.parse 例如,如果您拥有的是:

var arrayAsAJSONString = "[{\"id\":10}, {\"id\":10}, {\"id\":10}, {\"id\":10}, {\"id\":10}]";

您可以这样做:

var myArray = JSON.parse(arrayAsAJSONString);
// rest of the code exactly the same

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM