Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用lodash转换此json的最佳方法_Javascript_Json_Node.js_Lodash - Fatal编程技术网

Javascript 使用lodash转换此json的最佳方法

Javascript 使用lodash转换此json的最佳方法,javascript,json,node.js,lodash,Javascript,Json,Node.js,Lodash,我从lodash开始,我需要转换这个json: { "keyA": "valA", "keyB": [ "valB1", "valB2", "valB3", "valB4", ], "keyC": [ "valC1", "valC2", "valC3", "valC4", ], "...": ["...","...",".

我从
lodash
开始,我需要转换这个json:

{
    "keyA": "valA",
    "keyB": [
        "valB1",
        "valB2",
        "valB3",
        "valB4",
    ],
    "keyC": [
        "valC1",
        "valC2",
        "valC3",
        "valC4",
    ],
    "...": ["...","...","...","..."],
    "keyD": "valD"
}
[
    {
        "keyB":"valB1",
        "keyC":"valC1"
    },
    {
        "keyB":"valB2",
        "keyC":"valC2"
    },
    {
        "keyB":"valB3",
        "keyC":"valC3"
    },
    {
        "keyB":"valB4",
        "keyC":"valC4"
    },
]
对于此json:

{
    "keyA": "valA",
    "keyB": [
        "valB1",
        "valB2",
        "valB3",
        "valB4",
    ],
    "keyC": [
        "valC1",
        "valC2",
        "valC3",
        "valC4",
    ],
    "...": ["...","...","...","..."],
    "keyD": "valD"
}
[
    {
        "keyB":"valB1",
        "keyC":"valC1"
    },
    {
        "keyB":"valB2",
        "keyC":"valC2"
    },
    {
        "keyB":"valB3",
        "keyC":"valC3"
    },
    {
        "keyB":"valB4",
        "keyC":"valC4"
    },
]
keyB
keyC
和其他数组键的大小始终相同。

那些不是数组的键我必须忽略它们。

有什么想法吗?谢谢。

像这样的东西

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);
var o={
“科亚”:“瓦拉”,
“keyB”:[
“valB1”,
“valB2”,
“valB3”,
“valB4”,
],
“keyC”:[
“valC1”,
“valC2”,
“valC3”,
“valC4”,
],
“keyD”:“valD”,
“科耶”:[
“valE1”,
“valE2”,
“valE3”,
“valE4”,
]
};
var r=[];
_.每个(o,函数(v,k){
如果(u.isArray(v)){
_.每个(v,函数(v2,i){

r、 长度数组始终具有相同的大小,并且按照正确的顺序排列,如示例中所示?是的,相同的大小和顺序