Jolt 可以实现动态 "Prefix-Soup"

Is dynamic "Prefix-Soup" possible with Jolt

给定一个像这样的简单文档

{
  "data": {
    "clientId": "prefix",
    "clientName": "Acme"
  }
}

和这样的规范

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "clientName": "bookMap.@(1,clientId)&"
      }
    }
  }
]

我期望这样的输出

{
  "bookMap" : {
    "prefixclientName" : "Acme"
  }
}

相反,我得到了这个

{
  "bookMap" : {
    "prefix" : {
      "clientName" : "Acme"
    }
  }
}

即使 @ 符号的右括号和 & 之间没有点 . 有没有办法动态地使用输入值作为输出键中的前缀?

此规范应该适合您:

[
  {
    "operation": "modify-default-beta",
    "spec": {
      "data": {
        "newKey": "=concat(@(1,clientId), clientName)"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "data": {
        "clientName": "bookMap.@(1,newKey)"
      }
    }
  }
]

使用 https://jolt-demo.appspot.com

测试

您还可以在那里找到 string concatenation example