【发布时间】:2019-04-13 23:44:27
【问题描述】:
我有一本字典,看起来像:
cat dictionary.json
[
{
"key": "key01",
"value": "value01"
},
{
"key": "key02",
"value": "value02"
},
{
"key": "key03",
"value": "value03",
"extraProperty": {
"foo": "bar"
}
},
{
"key": "key04",
"value": "value04"
}
]
然后,我有一个数组:
echo $array
key01 key02 key03
预期输出:
value01 value02 value03
我在使用非 json 格式的数组制作 jq 时遇到了一些麻烦。 我尝试了各种我找到的解决方案,但没有一个奏效。 这篇帖子jq - How to select objects based on a 'whitelist' of property values 似乎解决了类似的问题,但它不适用于我的输入:
echo $array | jq --argfile whitelist dictionary.json 'select(any(.key== $whitelist[]; .value))'
parse error: Invalid numeric literal at line 1, column 6
我也试过
jq -n --arg array $array --argfile whitelist dico.json 'select(any(.key== $whitelist[]; .valuee))'
jq: error: key02/0 is not defined at <top-level>, line 1:
key02
jq: 1 compile error
谢谢!
【问题讨论】:
-
欢迎来到 SO。 Stack Overflow 是一个面向专业和狂热程序员的问答网站。目标是您将一些自己的代码添加到您的问题中,以至少显示您为解决这个问题所做的研究工作。
-
感谢您的欢迎。我编辑了我的答案
标签: arrays json bash dictionary jq