#json #jsonata
#json #jsonata
Вопрос:
Ниже приведен json- мой ввод.
{
"payload": {
"KA01B3432": "KA01B3432",
"KA02A3123": "KA02A3123"
}
}
Используя JSONATA, мне нужно отформатировать приведенный выше JSON в формат ниже.
[
{
"KA01B3432": "KA01B3432"
},
{
"KA02A3123": "KA02A3123"
}
]
Я пытался payload.[$keys()]
, но это приведет только к ключам в формате массива, а не ко всему объекту в формате массива.
{
"payload": {
"KA01B3432": "KA01B3432",
"KA02A3123": "KA02A3123"
}
}
Для
[
{
"KA01B3432": "KA01B3432"
},
{
"KA02A3123": "KA02A3123"
}
]
Ответ №1:
$spread(payload)
делает то, что вам нужно.
Смотрите http://try.jsonata.org/S1COdDqO4
Ответ №2:
Как насчет следующего кода :
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);
Комментарии:
1. Я использовал тот же код, но все равно он не дает ожидаемого результата.
2. [ { ключ: ‘KA01B3432’, значение: ‘KA01B34321’}, {ключ: ‘KA02A3123’, значение: ‘KA02A31231’ } ] Это то, что я получил, запустив ваш код, но в ожидаемом результате нет слов «Ключ» и «Значение».
3. пожалуйста, используйте этот пункт [ключи [i]] = значения [i]; я собираюсь обновить ответ, и это предоставит именно то, что вам нужно