将具有属性的空手道对象转换为地图

Convert Karate object with properties into map

如何使用 karate.map 来转换这个:

{
  "Test1": 10,
  "Test2": 5
}

对此:

[
  {
    "key": "Test1",
    "amount": 10
  },
  {
    "key": "Test2",
    "amount": 5
  }
]

我尝试了以下方法,但没有用。

* def objectAsMap = karate.map(objects, ([token, amount]) => ({ token, amount }))

给你:

* def response = { a: 1, b: 2 }
* def pairs = []
* karate.forEach(response, (k, v) => pairs.push({ key: k, value: v}))
* match pairs == [{ key: 'a', value: 1 }, { key: 'b', value: 2 }]

请注意,JS 数组操作有效,因此您甚至可以这样做:

* def response = { a: 1, b: 2 }
* def pairs = Object.entries(response).map(x => ({ key: x[0], value: x[1]}))
* match pairs == [{ key: 'a', value: 1 }, { key: 'b', value: 2 }]