【发布时间】:2020-10-05 13:49:21
【问题描述】:
我有一个JSON 对象 {"b":1,"c":2} 并希望将此对象放在具有名为xyz 的键的对象下。
但是,键名来自 shell 变量。所以换句话说,我首先需要获取键名,然后将{"b":1,"c":2}放在它下面,结果如下所示:
{
"xyz": {
"b": 1,
"c": 2
}
}
我想出了以下声明。它可以完成这项工作,但想知道是否有更有效的方法来消除临时的new 条目。
jq -n --arg a "xyz" '{"b":1,"c":2} as $new | {$new} | with_entries(if .key == "new" then .key = $a else . end)'
【问题讨论】: