我需要jolt转换的帮助,其中一个字段是json字符串而不是纯json

guykilcj  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(164)
{
  "clientid": "129710",
  "delivery_status": [
    {
      "x-apiheader": "{\"txnid\":\"129710-122-2079719-0-230502181123\",\"senttime\":\"2023-05-02 18:11:23\",\"mobile\":\"9488702697\",\"linkId\":956}"
    },
    {
      "x-apiheader": "{\"txnid\":\"9710-122-2079719-0-230502181123\",\"senttime\":\"2023-05-02 18:11:23\",\"mobile\":\"9488702697\",\"linkId\":956}"
    }
  ]
}

上面是我的输入JSON,这里delivery_status下的x-apiheader是一个JSOn字符串,而不是一个正确的JSONMap。
我希望输出像这样

[
{"txnId":"129710-122-2079719-0-230502181123"},
{"txnId":"9710-122-2079719-0-230502181123"}
]

我已经尝试了一些规范,但它们不起作用,因为它们都期望JSONMap而不是JSON字符串。任何指导都会对我有很大的帮助。

3duebb1j

3duebb1j1#

您可以连续使用modifyshiftspecs,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "delivery_status": {
        "*": {
          "*": "=split(\",@(1,&))"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "delivery_status": {
        "*": {
          "@(0,x-apiheader[3])": "[#2].@(1,x-apiheader[1])"
        }
      }
    }
  }
]

该***演示***一个网站http://jolt-demo.appspot.com/

相关问题