Sping Boot Apache Camel应用程序中不存在函数IN/1

np8igboo  于 2023-10-18  发布在  Apache
关注(0)|答案(1)|浏览(109)

在以下文件中作出澄清之后:
使用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)。
如何访问此函数或将其替换为提供相同结果的函数?

wj8zmpe1

wj8zmpe11#

使用等价的select(IN($colors[]; .id))select(any($colors[] == .id; .))(这是builtin.jq中定义过滤器的方式)
或者使用基于INDEX的解决方案,也是在您最初的问题下提出的:)

相关问题