我从lodash
开始,我需要转换这个json:
{
"keyA": "valA",
"keyB": [
"valB1",
"valB2",
"valB3",
"valB4",
],
"keyC": [
"valC1",
"valC2",
"valC3",
"valC4",
],
"...": ["...","...","...","..."],
"keyD": "valD"
}
到这个json:
[
{
"keyB":"valB1",
"keyC":"valC1"
},
{
"keyB":"valB2",
"keyC":"valC2"
},
{
"keyB":"valB3",
"keyC":"valC3"
},
{
"keyB":"valB4",
"keyC":"valC4"
},
]
keyB
,keyC
和其他数组键的大小始终相同。
那些不是数组的键我必须忽略它们。
任何想法?感谢。
答案 0 :(得分:1)
这样的东西?
var o = {
"keyA": "valA",
"keyB": [
"valB1",
"valB2",
"valB3",
"valB4",
],
"keyC": [
"valC1",
"valC2",
"valC3",
"valC4",
],
"keyD": "valD",
"keyE": [
"valE1",
"valE2",
"valE3",
"valE4",
]
};
var r = [];
_.each(o, function(v, k) {
if (_.isArray(v)) {
_.each(v, function(v2, i) {
r.length <= i && r.push({});
r[i][k] = v2;
});
}
});
console.log(r);