我正在尝试从存储过程聚合json响应。
以下是proc的实际回复。
[
{
"type": "fruit",
"name": "apple"
},
{
"type": "animal",
"name": "cat"
},
{
"type": "fruit",
"name": "orange"
},
{
type: "animal",
"name": "dog"
}
]
聚合之后我希望它是这样的东西,
[
{
"type":"fruit",
"name":["apple","orange"]
},
{
"type":"animal",
"name":["cat","dog"]
}
]
任何人都可以帮我提供最好的解决方案吗?
感谢,
答案 0 :(得分:0)
应该这样做:
function foo(data) {
var i, d, temp = {}, output=[];
for (i=0; i < data.length; i++) {
d = data[i];
if (d["type"] in temp)
temp[d['type']].push(d['name']);
else
temp[d['type']] = [d['name']];
}
for (d in temp) {
output.push({
'type': d,
'name': temp[d]
});
}
return output;
}