0

json下面是我的输入。

{
    "payload": {
        "KA01B3432": "KA01B3432",
        "KA02A3123": "KA02A3123"
    }
}

使用JSONATA我需要将上面的 JSON 格式化为以下格式。

[
    {
        "KA01B3432": "KA01B3432"
    },
    {
        "KA02A3123": "KA02A3123"
    }
]

我试过payload.[$keys()]了,但这只会产生数组格式的键,而不是数组格式的整个对象。

{
    "payload": {
        "KA01B3432": "KA01B3432",
        "KA02A3123": "KA02A3123"
    }
}

[
    {
        "KA01B3432": "KA01B3432"
    },
    {
        "KA02A3123": "KA02A3123"
    }
]
4

2 回答 2

0

下面的代码呢:

   var json = { "payload": { "KA01B3432": "KA01B34321", "KA02A3123": "KA02A31231" } };
    var array = [];
    keys = Object.keys(json.payload);
    values = Object.values(json.payload);
    for (var i = 0; i < keys.length; i++) {
        var item = {};
        item[keys[i]] =  values[i];

        array.push(item);
    }
    console.log(array);
于 2019-03-28T07:18:41.497 回答
0

$spread(payload)做你需要的。

http://try.jsonata.org/S1COdDqO4

于 2019-03-28T15:31:14.990 回答