gpt4 book ai didi

jsonpath - 字符串数组过滤器的 Jayway Jsonpath 语法?

转载 作者:行者123 更新时间:2023-12-01 13:47:26 27 4
gpt4 key购买 nike

我正在尝试在 Nifi 中使用 EvaluateJsonPath 处理器,但在使用 jayway jsonpath 语法时遇到了问题。我的对象如下所示:

{"text":"my stuff", "tags":["abc", "xyz", "beq"]}

我想根据标签路由消息 - 我希望所有包含“xyz”的内容都以一种方式路由,而所有不包含它的内容都以另一种方式路由。使用http://jsonpath.herokuapp.com/我一直在测试并试图找出基于包含字符串匹配数组的 json 对象进行过滤的语法。我可以根据公开索引进行匹配(所以 $.[?(@.tags[1] =~/xyz/i)] 工作得很好),但我不能保证顺序或数量标签字段中的对象。

有没有办法在 jayway json 模块中执行此操作?我看到了filter the Json according to string in an array in JSONPATH我试过了,但它似乎在上面的模拟器中不起作用。

最佳答案

我不知道如何在一个 EvaluateJsonPath 处理器步骤中执行此操作。但它当然可以分两步完成:

  1. 使用 EvaluateJsonPath 从标签数组中过滤“xyz”标签,使用像 $.tags[?(@ =~/xyz/i)] 这样的 JsonPath 表达式并设置处理器 return-typejson 以便返回一个数组。这将导致 ["xyz"] 匹配和 [] 不匹配的文件
  2. 使用 RouteOnAttribute 根据生成的数组进行路由,表达式如 ${matchingTags:toLower():contains('xyz')}

可能还值得考虑将 JSON 作为文本与正则表达式进行评估以匹配标签。

关于jsonpath - 字符串数组过滤器的 Jayway Jsonpath 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34885354/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com