【发布时间】:2021-01-11 02:01:25
【问题描述】:
我在 2 个变量 V1 和 V2 中有 2 个 json 对象。
V1 是
{
"Parameters: {
"a": "value-of-a",
"b": "value-of-b"
}
}
V2 是
{
"Parameters": {
"a": "new-value-of-a",
"c": "value-of-c"
}
}
我想用 V2 中的值覆盖 V1 的值。我想生成一个如下所示的新 JSON:
预期
{
"Parameters": {
"a": "new-value-of-a",
"b": "value-of-b"
}
}
我尝试了以下方法:
(
echo '{ "Parameters": { "a": "value-of-a", "b": "value-of-b" } }'\
'{ "Parameters": { "a": "new-value-of-a", "c": "value-of-c" } }'\
| jq --slurp 'reduce .[] as $item ({}; . * $item)'
)
但这会产生
实际
{
"Parameters": {
"a": "new-value-of-a",
"b": "value-of-b",
"c": "value-of-c"
}
}
问题是我不希望 V2 中不存在于 V1 中的节点出现在结果中。谁能帮帮我?
【问题讨论】: