在 jolt 中将子 ID 移动到父 ID

Move child id to parent id in jolt

我有以下输入 json,需要通过 jolt 将其转换为输出 json。

** Input **
{
"A": "value1",
"B": "value2",
"C":{
"D": "x1",
"E": "x2"
}
}

** output **

{
"A": "value1",
"B": "value2",
"E": "x2"
"C":{
"D": "x1"
}
}

任何人都可以帮助我了解震动规格吗?

试试这个 jolt 规范:

[
  {
    "operation": "shift",
    "spec": {
      "A": "A",
      "B": "B",
      "C": {
        "E": "E",
        "@D": "C.D"
      }
    }
  }]

Output:

{
  "A" : "value1",
  "B" : "value2",
  "C" : {
    "D" : "x1"
  },
  "E" : "x2"
}

从子文档中取出E放入根文档

震动规格:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[&1].&",
        "C": {
          "E": "[&2].&",
          "*": "[&2].C.&"
        }
      }
    }
  }
]

输入:

[
  {
    "A": "value1",
    "B": "value2",
    "C": {
      "D": "x1",
      "E": "x2",
      "F": {
        "a": "x1",
        "x": {
          "y": 1
        }
      },
      "H": "x4"
    }
  }
]

输出:

[ {
  "A" : "value1",
  "B" : "value2",
  "C" : {
    "D" : "x1",
    "F" : {
      "a" : "x1",
      "x" : {
        "y" : 1
      }
    },
    "H" : "x4"
  },
  "E" : "x2"
} ]