嵌套JSON的JOLT转换?

时间:2018-03-20 02:11:59

标签: json jolt

我有一个看起来像这样的JSON:

{
"Level1": {
    "Level2": {
        "val1": "Test",
        "val2": "Val"
    }
}

}

当我将followng Jolt移位转换应用于此时:

[{
    "operation": "shift",
    "spec": {
        "Level1": {
            "Level2": {
                "val1": "val001",
                "val2": "val002"
            }
        }
    }
}]

我得到了以下结果:

    {
    "val001": "Test",
    "val002": "Val"
}

为什么我看不到输出中的 Level1,Level2 ?请一个人帮忙,我想看到输出中的输出太过类似了什么。

1 个答案:

答案 0 :(得分:2)

移位规范中的值通常是指输出中键的位置,因此您需要在值中包含Level1和Level2:

[{
  "operation": "shift",
  "spec": {
    "Level1": {
      "Level2": {
        "val1": "Level1.Level2.val001",
        "val2": "Level1.Level2.val002"
      }
    }
  }
}]

如果Level1和/或Level2可以是任意的,您可以使用@运算符“返回树”并获取值(例如,参见Shiftr javadoc)。