问题标签 [gpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
880 浏览

json - 放心的路径无法访问路径中带有数字的元素

在以下(部分)JSON 响应中:

我正在尝试像这样访问 fromDate 的值:

但是当涉及到路径表达式中的数字时,它会失败,有什么办法可以解决这个问题吗?

java.lang.IllegalArgumentException:无效的 JSON 表达式:Script1.groovy:1:意外令牌:3226186 @ 第 1 行,第 40 列。

0 投票
2 回答
125 浏览

xml - 传递 XML 路径并评估

我正在做一个项目,我需要解析一个 XML 文件并在 100 个不同的 XML 路径/节点上执行完全相同的代码。我的代码目前看起来像这样……</p>

由于“要做的事情”和异常的“事情”每次都完全相同,唯一改变的是我正在使用的节点。因此,我宁愿将节点表达式发送到方法或像这样扩展节点类......</p>

通过方法尝试,我无法弄清楚如何将 XPath 传递给该方法然后使用它。使用类扩展方法,只要节点实际存在,它就可以工作。如果没有,我在尝试调用 myProcess 时会出错。

有任何想法吗?

0 投票
1 回答
1373 浏览

json - Groovy GPath 中的转义点

我在 Java 中使用RestAssured框架,其文档包含此注释

请注意,“json 路径”语法使用Groovy 的 GPath表示法,不要与 Jayway 的 JsonPath 语法混淆。

我需要验证以下 JSON:

并且选择器喜欢
_source.logSource.logger.name
_source.logSource.logger.name[0]不返回任何结果。

我认为这是由于logger.name属性中的点。如果没有进行转义,logger.name则解释为好像name在 下logger,这是不正确的。

如何正确转义 GPath 中的点字符,以便将logger.name其视为单个属性名称?

谢谢!

0 投票
2 回答
262 浏览

xml - 有没有更好的方法使用 Groovy Gpath 在 xml 中查找祖先?

请查看我下面的常规代码,该代码按预期工作-但想知道是否有更好的方法来获取祖先信息?

我的示例 xml 记录:

我想知道是否有更好的方法来优化这一点获得祖先?

我的方法:

按预期输出:

0 投票
1 回答
2920 浏览

json - 请放心,使用 Gpath 查询会报错“参数“...”已使用但未定义。使用 JsonPath.params(...) 定义参数”

我是新来的放心,我目前正在使用它以便在我们的测试框架中实现它。

我面临的问题是从 REST 响应中的 Json 数组中提取对象。

我正在使用的示例 json:

到目前为止我尝试过的事情:

这个断言有效

但我正在尝试实际获取特定数组项的 Json

两种方式都试过(一种被注释掉了)。但我得到一个错误:

0 投票
1 回答
222 浏览

xml - 如何使用 XMLPath 获取 XML 的属性值?

我有一个 XMLPath 对象,我希望获取某些节点的属性名称。例如,

对于这个 XML,获取属性的 XMLPath 表达式是Location什么md:SingleLogoutService

我可以使用以下内容获取 md:EntityDescriptor 的 entityID:entityId=metadataXml.get("md:EntityDescriptor.@entityID")

但是对于我想要得到的 Location 属性

我得到的输出是[],仅此而已。

0 投票
1 回答
680 浏览

java - 嵌套对象上的 GPath

我不确定我在这里做错了什么,我正在努力让它正常工作。使用这个 JSON:

例如,我无法提取作者年龄为 45 岁的书籍。我已经尝试过以下方法(使用books文档根集)

我仍然取回所有具有年龄项目的记录。它可以是任意对象,它可能没有author记录等。我希望book返回根对象。

我觉得我错过了一些非常明显的东西,但文档似乎只涵盖了一级键值。也许它不支持它?

谢谢!

0 投票
1 回答
403 浏览

xml - 在 GPath groovy 语句中使用 AND 子句来获取匹配 >1 个条件的所有 xml 节点

我是 Groovy / GPath 的新手,并且正在将它与 RestAssured 一起使用。我需要一些有关查询语法的帮助。

给定以下 xml 片段:

我可以提取所有座位号如下:

如何提取 AllowChild="true" 的所有座位号?

我试过了:

它抛出:

什么是正确的语法?

0 投票
1 回答
694 浏览

xml - Groovy 使用 GPath Slurper 获取 XML 属性的值

需要解析包含标题上下文中的属性的 XML 文档。

我想使用groovy.util.slurpersupport.GPathResult.

我找到了一种可行的方法,但我不相信它是正确的,因为我正在选择contextItem,幸运的是第一个是我感兴趣的:

所有用作位置文本的尝试都Channel无法检索到值。不幸的是,我被束缚在使用 GPath 作为一个非常大的 Groovy 脚本的一部分,我被要求修改它做很多其他的事情。

有人可以告诉我实现这一目标的正确方法是什么吗?

0 投票
1 回答
111 浏览

xml - 在外部存储 GPath 表达式

我正在使用 groovy 处理一些 XML,并且我已经阅读了以下教程http://groovy-lang.org/processing-xml.html。我了解如何替换节点,但我想做的是将这些 gpath 表达式存储在一个文件中,并在运行时将它们读入以“检测”诸如 url、数据库连接属性之类的内容,并根据需要替换节点值/属性。

有谁知道这是否可能?

[编辑] 请求示例