首页 > 解决方案 > JOLT 合并不同的元素

问题描述

这是我的输入

 [{
    "name": "LAST_UPDATE_DATE",
    "value": 1075456461000
  },
  {
    "name": "LAST_UPDATED_BY",
    "value": {
      "value": "BCw="
    }
  }]

这是预期的输出

 [{
    "name": "LAST_UPDATE_DATE",
    "value": 1075456461000
  },
  {
    "name": "LAST_UPDATED_BY",
    "value":  "BCw="
    
  }]

试图添加默认字段以便我可以进一步比较,但似乎无法创建一个值已经存在的节点(值:1075456461000)

    [{
    "operation": "modify-default-beta",
    "spec": {
        "*": {
          "val" : null,
          "value": {
            "val" : null
          }
        }
      }
  }]

任何建议表示赞赏。

标签: jolt

解决方案


经过几个小时的奋斗,我想到了....

    [
 {
        "operation": "shift",
        "spec": {
          "*": {
            "$": "&1.fieldname",
            "@": "&1.val",
            "value": "&1.value"
          }
        }
      },
      {
        "operation": "remove",
        "spec": {
          "*": {
            "*": {
              "value": ""
            }
          }
        }
      },
      {
        "operation": "default",
        "spec": {
          "*": {
            "value": null
          }
        }
      },
      {
        "operation": "modify-default-beta",
        "spec": {
          "*": {
            "value?": "@(1,val)"
          }
        }
      },
      {
        "operation": "remove",
        "spec": {
          "*": {
            "val": ""
          }
        }
      }
    ]

推荐阅读