Json Jenkins API树过滤器使用正则表达式?

Json Jenkins API树过滤器使用正则表达式?,json,jenkins,hudson,Json,Jenkins,Hudson,我使用tree参数来过滤从API返回的JSON数据,效果非常好。我的问题是我需要从一个数组中获取一些特定的数据,其中包含一些我不关心的东西。我想知道是否有一种方法,使用tree命令,使用regex或contains字符串进行过滤 例如,要返回以MyProject开头的所有文件名,请执行以下操作: http://myapi.com?tree=fileName=MyProject* 正则表达式对于正则语法非常有用 树总是跟着来。使用能够支持上下文感知操作的语言,比如XPath,您可能会做得更

我使用tree参数来过滤从API返回的JSON数据,效果非常好。我的问题是我需要从一个数组中获取一些特定的数据,其中包含一些我不关心的东西。我想知道是否有一种方法,使用tree命令,使用regex或contains字符串进行过滤

例如,要返回以MyProject开头的所有文件名,请执行以下操作:

   http://myapi.com?tree=fileName=MyProject*

正则表达式对于正则语法非常有用

树总是跟着来。使用能够支持上下文感知操作的语言,比如XPath,您可能会做得更好。是的,如果没有XPath的额外功能,一些非常简单的项目可能会工作;然而,一旦你踏上了一个超出常规语法可能范围的用例(它们只支持可搜索内容的一小部分),用手中的工具完成搜索几乎是不可能的

如果你想知道常规语法有多大的局限性,那就研究一下,然后深入思考它的含义。你面对的是数学,包括数学中包含逻辑运算的部分。这不是一个很难解决的问题,已经证明正则表达式不能匹配上下文无关的语法


如果你只是对快速完成工作更感兴趣。我建议您从阅读并尝试利用已有的工具开始,或者至少在树匹配工作中使用它作为指导。

我发现使用不使用JSON而改为使用XML可以使用XPATH进行过滤。查找名称以“Test”开头的所有作业URL的示例如下:

https://{jenkins_instance_url}/view/All/api/xml?tree=jobs[name,url]&xpath=/*/job[starts-with(name,'Test')]/url&wrapper=jobs