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

时间:2016-04-07 13:03:47

标签: javascript json node.js

我在使用JSON时非常新。 我有一个类似于以下的for循环,每次执行都会返回不同的owner_id(具有不同的namefor (/* some condition here */) { product = { owner_id: somevalue, name: somevalue } } 字段)

product

我需要存储var selectedProducts = []; for (/* some condition here */) { product = { owner_id: somevalue, name: somevalue } selectedProducts.push(product); selectedProducts.push(JSON.stringify(product)); } 的所有不同事件以供日后使用。我正在考虑使用数组,所以我将上面的代码更改为:

undefined

但我得到的是一个包含for(var i = 0; i < selectedProducts.length; i++) { console.log(selectedProducts[i]); // Will print the single JSON object } 内容的数组。

我之后需要实现的是调用for循环,如下所示

records = LOAD '/home/abhijit/Downloads/movies.txt' using PigStorage(',') as (id:int, name:chararray, desination:chararray, date:chararray, salary:int);

todate_data = foreach records generate id,name,destination,date, salary,ToDate(date,'yyyy/MM/dd HH:mm:ss') as (date_time:DateTime );

todate_data = foreach records generate name,desination,ToDate(date,'dd/MM/yyyy') as (date_time:DateTime );

getyear_data = foreach todate_data generate name,desination,GetYear(date_time);

groupByYear = group getyear_data by $3;

我怎样才能达到这样的效果?

1 个答案:

答案 0 :(得分:0)

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

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
}