将 API 有效负载转换为嵌套 JSON 结构

问题描述 投票:0回答:1

我收到了来自 API 的以下响应:

{
  "id": 306,
  "FieldName": "customer.info.User",
}

根据此响应中的 FieldName 属性,我需要为另一个 API 构造一个有效负载,其预期输出如下:

以下是我需要的预期输出。

{
  "customerList": [
    {
      "customerConditionHeader": {
        "entityType": "CORPORATIONS",
        "country": "FOR_ALL",
        "entityRole": "CUSTOMER"
      },
      "customer": {
        "info": {
          "user": "some_value"
        }
      }
    }
  ]
}
karate
1个回答
0
投票

我将只关注 JSON 的一部分并留下提示。

karate.set(variableName, path, value)
API 可以做一些非常特殊的事情。例如:

* def response = { id: 306, FieldName: 'customer.info.user' }
* def payload = {}
* karate.set('payload', response.FieldName, 'some_value')
* match payload == { customer: { info: { user: 'some_value' } } }

注意

customer.info.user
是如何分解为 JSON 的。剩下的事情就留给你自己去解决,你可以使用 JS 进行更奇怪的转换。请参阅其他答案以获取更多提示,例如:https://stackoverflow.com/a/76091034/143475https://stackoverflow.com/a/53120851/143475

© www.soinside.com 2019 - 2024. All rights reserved.