带数组的 JOLT 转换

时间:2021-04-17 14:35:08

标签: jolt

在下方寻求有关Jolt 转换的帮助

{
  "consents": [
    {
      "consent-data": [
        {
          "consent-key": "DOB",
          "consent-value": "02/2006"
        }
      ],
      "consent-id": "123",
      "consent-indicator": "true",
      "consent-type": "COPPA",
      "resource-id": "456"
    },
    {
      "consent-data": [
        {
          "consent-key": "DOB",
          "consent-value": "02/2006"
        }
      ],
      "consent-id": "567",
      "consent-indicator": "true",
      "consent-type": "COPPA",
      "resource-id": "678"
    }
  ]
}

预期输出

{
  "Consents": [
    {
      "consentDataResponse": [
        {
          "consentKey": "DOB",
          "consentValue": "02/2006"
        }
      ],
      "consentId": "123",
      "consentIndicator": "true",
      "consentType": "COPPA",
      "resourceId": "456"
    },
    {
      "consentDataResponse": [
        {
          "consentKey": "DOB",
          "consentValue": "02/2006"
        }
      ],
      "consentId": "567",
      "consentIndicator": "true",
      "consentType": "COPPA",
      "resourceId": "678"
    }
  ]
}

使用进行转换:

[
  {
    "operation": "shift",
    "spec": {
      "consents": {
        "*": {
          "consent-id": "consents[&1].retailerId",
          "consent-indicator": "consents[&1].consentIndicator",
          "consent-type": "consents[&1].consentType",
          "resource-id": "consents[&1].resoureId",
          "consent-data": {
            // loop thru the orderItems array
            "*": {
              "consent-key": "consentDataResponse[&1].consentKey",
              "consent-value": "consentDataResponse[&1].consentValue"
            }
          }
        }
      }
    }
  }

]

当前输出

{
  "consentDataResponse" : [ {
    "consentKey" : [ "DOB", "DOB1" ],
    "consentValue" : [ "02/2006", "03/2006" ]
  } ],
  "consents" : [ {
    "consentIndicator" : "true",
    "consentType" : "COPPA",
    "resoureId" : "22=",
    "retailerId" : "11="
  }, {
    "consentIndicator" : "false",
    "consentType" : "COPPA1",
    "resoureId" : "44=",
    "retailerId" : "33="
  } ]
}

注意 - 此处将重复 consentsconsentDataResponse,目前我将 consentDataResponse 作为具有合并值的单独对象,但它应该是每个 consents。你能在这里帮我吗

1 个答案:

答案 0 :(得分:1)

return maxBottom - minTop + y; //The y size of the topmost control.

您几乎做对了,只是在同意数据循环中添加了索引。

相关问题