在以下文件中作出澄清之后:
使用jq表达式,如何使用中间Map数组从json数组返回项目?
我试着实施解决方案:
[.links[] | select(.from == "product1") | .to] as $colors | [.hits[] | select(.id | IN($colors[])) | .name]
但是我的应用程序(Sping Boot Apache Camel)给了我这个错误:“函数IN/1不存在”。
如果我用“in”而不是“IN”,我得到:“has()不适用于String”。
我使用的是Apache Camel 4.0.0(使用相同版本的camel-jq)。
如何访问此函数或将其替换为提供相同结果的函数?
1条答案
按热度按时间wj8zmpe11#
使用等价的
select(IN($colors[]; .id))
或select(any($colors[] == .id; .))
(这是builtin.jq
中定义过滤器的方式)或者使用基于
INDEX
的解决方案,也是在您最初的问题下提出的:)