如何使用 Jolt Transform 访问 json 个字段?

How to access json fields with Jolt Transform?

如何使用 Jolt 转换访问 json 字段?

例如我有这个 json:

{
  "a": 110,
  "b": 10
}

我想要:

{
  "a": 110,
  "b": 10,
  "c": 100   // 110 - 10 (substraction)
}

以下转换将添加一个设置为 a - bc 变量:

[
  {
    "operation": "shift",
    "spec": {
      "a": "a",
      "b": "b"
    }
  },
  {
    "operation": "modify-default-beta",
    "spec": {
      "c": "=intSubtract(@(1,a), @(1,b))"
    }
  }
]

如果您想测试它,Jolt demo website 是一个很好的资源。将你原来的 JSON 放入“JSON 输入”框:

{
  "a": 110,
  "b": 10
}

然后将此答案顶部的转换规范放入“JOLT 规范”框中,然后点击 Transform 按钮。结果应该如您所愿:

{
  "a" : 110,
  "b" : 10,
  "c" : 100
}

您只需使用一个 modify-overwrite-beta 转换和 intSubtract 函数来添加一个额外的元素到当前 json 值,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "c": "=intSubtract(@(1,a),@(1,b))"
    }
  }
]