json常见转换函数
从一个字符串中解析出json对象 : JSON.parse()
从一个对象中解析出字符串 : JSON.stringify(data)
常见的还有:eval(“(“+A+”)”); 也可以把 一个字符串中解析出json对象
json 统计汇总
原json data = [
{"companyName": "A",
"orderAmt": 100, "Qty": 1},
{"companyName": "A",
"orderAmt": 200, "Qty": 3},
{"companyName": "B",
"orderAmt": 400, "Qty": 5},
{"companyName": "B",
"orderAmt": 200, "Qty": 5},
];
根据 companyName进行分组统计,相同公司名的 orderAmt和Qty相加,希望得到以下结果,如何操作。
data1 = [
{"companyName": "A",
"orderAmt": 300, "Qty": 4},
{"companyName": "B",
"orderAmt": 600, "Qty": 10},
];
解决:
var data = [
{"companyName": "A","orderAmt": 100, "Qty": 1},
{"companyName": "A","orderAmt": 200, "Qty": 3},
{"companyName": "B","orderAmt": 400, "Qty": 5},
{"companyName": "B","orderAmt": 200, "Qty": 5}
];
var map = {};
var res = [];
for(var i=0;i<data.length;i++){
var name = data[i].companyName;
if(!map[name]){
map[name] = {
companyName : name,
orderAmt : 0,
Qty : 0
}
res.push(map[name]);
}
for(var p in map[name]){
if(p != 'companyName'){
map[name][p] += data[i][p];
}
}
}
console.log(res)