Groovy 请放心,仅从响应主体获取映射值

Groovy 请放心,仅从响应主体获取映射值,groovy,rest-assured,rest-assured-jsonpath,Groovy,Rest Assured,Rest Assured Jsonpath,假设我调用了一个RESTful服务,它在响应体中返回这个 [ { "key": "Reason1 key", "values": { "en": "Reason1 English translation", "es": "Reason1 Spanish translation" } }, { "key": "Reason2 key", "values": { "en": "Reason2 English tr

假设我调用了一个RESTful服务,它在响应体中返回这个

[
  {
    "key": "Reason1 key",
    "values": {
      "en": "Reason1 English translation",
      "es": "Reason1 Spanish translation"
    }
  },
  {
    "key": "Reason2 key",
    "values": {
      "en": "Reason2 English translation",
      "es": "Reason2 Spanish translation"
    }
  }
]
我只需要获取映射键为“en”的值。

所以我希望过滤后的结果是这样的

[“Reason1英语翻译”、“Reason2英语翻译”]

{“推理1英语翻译”、“推理2英语翻译”}

我尝试了下一个代码,但仍然没有完成

response.then().body("findAll { it }.collect { it.values }", hasItems("Reason1 English translation", "Reason2 English translation"))
它回来了

[{en=Reason1英语翻译,es=Reason1西班牙语翻译},{en=Reason2英语翻译,es=Reason2西班牙语翻译}]

那么,我如何才能只获得与“en”相等的映射键条件相匹配的映射值呢?

更改为
…body(“findAll{it}.collect{it.values.en}”

添加
en
以获取
en
节点,而不是整个
节点。

非常简单:)我将其作为带有键和值的映射来处理,所以我尝试收集{it.values.key},这就是为什么它对我失败的原因,但现在它只处理JSON而不是Java对象。(谢谢)