Javascript Node.js将JSON数据存储在数组中以供以后使用

Javascript Node.js将JSON数据存储在数组中以供以后使用,javascript,json,node.js,Javascript,Json,Node.js,我对使用JSON非常陌生。 我有一个类似以下的for循环,每次执行时都返回不同的产品(具有不同的所有者id和名称字段) 我需要存储所有出现的产品,以备以后使用。我正在考虑使用数组,因此我将上述代码更改为: var selectedProducts = []; for (/* some condition here */) { product = { owner_id: somevalue, name: somevalue } selec

我对使用JSON非常陌生。 我有一个类似以下的for循环,每次执行时都返回不同的
产品
(具有不同的
所有者id
名称
字段)

我需要存储所有出现的
产品
,以备以后使用。我正在考虑使用数组,因此我将上述代码更改为:

var selectedProducts = [];
for (/* some condition here */) {
    product = {
         owner_id: somevalue,
         name: somevalue
    }
    selectedProducts.push(product);
    selectedProducts.push(JSON.stringify(product));
}
但我得到的是一个包含
未定义内容的数组

我以后需要实现的是调用如下循环

for(var i = 0; i < selectedProducts.length; i++) {
    console.log(selectedProducts[i]); // Will print the single JSON object
}
for(变量i=0;i

如何实现这样的结果?

您可以在会话中存储
selectedProducts
数组(请参阅)

然后从会话中获取数组

for(var i = 0; i < req.session.selectedProducts.length; i++) {
    console.log(req.session.selectedProducts[i]); // Will print the single JSON object
} 
for(变量i=0;i
你为什么不写
选择的产品。推送(产品)
?实际上我正在写。很抱歉这是因为我将名称从
post
更改为
product
,以澄清stackoverflow的问题。@Oliver我更正了它。谢谢你通知我。你需要发布一个更大的代码摘录,因为你提供的代码没有问题。我现在正在做一些测试,我实际上看到selectedProducts.length返回
0
我想我不需要会话来完成它,因为我需要在同一个帖子里做每件事,所以我没有意识到这是在同一个帖子里
var selectedProducts = [];
for (/* some condition here */) {
    product = {
         owner_id: somevalue,
         name: somevalue
    }
    selectedProducts.push(product);
}

req.session.selectedProducts = selectedProducts;
for(var i = 0; i < req.session.selectedProducts.length; i++) {
    console.log(req.session.selectedProducts[i]); // Will print the single JSON object
}