Я начинаю с файла JSON с несколькими объектами
{
"name": "foo",
"url": "https://zombo.com"
}
{
"name": "bar",
"url": "https://acme.com"
}
и пытаюсь объединить их в один объект с атрибутом name
в качестве ключа:
{
"widgets": {
"foo": {
"url": "https://zombo.com"
},
"bar": {
"url": "https://acme.com"
}
}
}
Некоторое время я бился головой об этом, и я думаю, что довольно близок к следующему запросу:
{ widgets: (reduce . as $item ({}; . + {($item.name): {url: $item.url}})) }
Однако, это приводит к нескольким объектам, и язаканчиваются идеи.
jqplay доступен здесь: https://jqplay.org/s/SI7XEMb5l9.