0

想象一下我调用了一个 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 英文翻译"]

或者

{"Reason1 英文翻译", "Reason2 英文翻译"}

我尝试了下一个代码,但仍未完成

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

它返回

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

那么我怎样才能只获得与'en'相等的映射键条件匹配的映射值?

4

1 回答 1

1

更改为....body("findAll { it }.collect { it.values.en }"

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

于 2017-08-22T00:54:08.433 回答