【问题标题】:Parse json arrays with ValidatableResponseOptions.body使用 ValidatableResponseOptions.body 解析 json 数组
【发布时间】:2017-02-17 13:44:06
【问题描述】:

正如 ValidatableResponseOptions.body documentation 所示,您可以“解析” JSON 以检查值是否存在(或类似)。

现在我的 JSON 格式是这样的:

[
   {
      "from_name": "Peter",
   },
   {
      "from_name": "Max"
   }
]

我想检查是否有带有from_name Peter 的数组。我试过了:

.body("[].from_email", equalTo("Peter"))

这会引发错误Invalid JSON expression:Script1.groovy: 1: unexpected token: [ @ line 1, column 27. [].from_email ^1 error

尝试以下也不起作用:

.body("$..from_email", equalTo(shopEmailAddress))

.body(".from_email", equalTo(shopEmailAddress))

正确的语法是怎样的?

【问题讨论】:

    标签: java json response matcher jsonpath


    【解决方案1】:

    您尝试解析 json 数组而不是 json。这就是错误告诉你的。您应该对数组进行迭代并独立解析每个 json。

    您还可以流式传输数组并查找验证您的谓词的第一个案例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-14
      • 2013-03-21
      • 2013-08-27
      • 2016-06-19
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多