我在JQ 1.4中的输入......
{
"key x": {
"b": "1"
},
"key y": {
"b": "1"
}
}
...应在每个顶级键下添加新的嵌套对象,并使用其顶级键的名称。所以结果看起来像
{
"key x": {
"a": "key x",
"b": "1"
},
"key y": {
"a": "key y",
"b": "1"
}
}
但是没有直接使用键名(例如"键x" .a ="键x"),因为我在运行时不知道真正的键名。
答案 0 :(得分:2)
一个简单的答案是:
with_entries(.value.a = .key)
答案 1 :(得分:0)
是的,找到了解决方案:
to_entries | map( {(.key): ({a: .key}+.value)} ) | add
将返回
{
"key x": {
"a": "key x",
"b": "1"
},
"key y": {
"a": "key y",
"b": "1"
}
}
to_entries拆分为键/值对更容易访问每个键并通过新对象扩展其值。