Как взять имена именованного массива, вставить их как элементы в него, а затем удалить имя?
{
"l1": {
"v1": {
"a": [1],
"b": [2]
},
"v2": {
"a": [3],
"b": [4]
}
},
"l2": {
"v3": {
"a": [5],
"b": [6]
},
"v4": {
"a": [7],
"b": [8]
}
}
}
в
[
{
"id": ["l1"],
"v1": {
"a": [1],
"b": [2]
},
"v2": {
"a": [3],
"b": [4]
}
},
{
"id": ["l2"],
"v3": {
"a": [5],
"b": [6]
},
"v4": {
"a": [7],
"b": [8]
}
}
]
Имена ("l1"
, "l2"
) априори не известны, равно как и другое содержимое; все, что я знаю, это то, что я хочу взять имена верхнего уровня и вставить их как "id"
-именованные объекты.
Я считаю, что это близко к противоположному Используя jq, преобразовать массив пар имя / значение в объект с именованными ключами .
jq 'to_entries'
запускается, но встраивает и "key"
, и "value"
, тогда как я действительно просто хочу добавить (prepend) "key"
, еще лучше контролировать буквальный «ключ» для (скажем) "id"
.