我在使用JSON时非常新。
我有一个类似于以下的for循环,每次执行都会返回不同的owner_id
(具有不同的name
和for (/* 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;
我怎样才能达到这样的效果?
答案 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
}