【发布时间】:2019-07-22 00:13:46
【问题描述】:
我有一个json文件A:
{
"remove" : ["foo", "bar"]
}
和一个json文件B:
{
"someDynamicKey" : {
"foo" : 1,
"xyz" : 2,
"bar" : "x"
}
}
我想删除文件 B 中与文件 A 的“删除”部分匹配的所有键。 问题是我不知道文件 A 中有哪些键。
预期:
{
"someDynamicKey" : {
"xyz" : 2
}
}
我在尝试
jq --slurpfile a A.json '. as $b | reduce $a[] as $key ($b; . = del($b.$key))' B.json
并得到错误:
jq: error: syntax error, unexpected '$', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
. as $b | reduce $a[] as $key ($b; . = del($b.$key))
我不确定下一步该怎么做,或者是否可以使用 jq 来实现?感谢您的帮助!
【问题讨论】: