Мне нужны эти данные JSON в формате ниже, используя JSONATA - PullRequest
0 голосов
/ 28 марта 2019

Ниже json мой ввод.

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

Использование JSONATA Мне нужно отформатировать вышеуказанный JSON в формат ниже.

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

Я пытался payload.[$keys()], но это даст только ключи в формате массива, а не весь объект в формате массива.

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

до

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

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

$spread(payload) делает то, что вам нужно.

См. http://try.jsonata.org/S1COdDqO4

0 голосов
/ 28 марта 2019

А как насчет следующего кода:

   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);
...