使用 Jolt 将一个字段从内部 JSON 插入到外部 JSON

问题描述

我有一个这样的 JSON

"Top1": {
          "top11": "top11","top12": "top12","Middle1": 
            {
              "middle11": "middle11","middle12": "middle12",},Middle2": 
            {
              "middle21": "middle21","middle22": "middle22","Inner1":{

                 "inner11":"inner11"
                 "inner12":"inner12"
                        }
            }
}

我怎样才能像这样转换它

"Top1": {
          "top11": "top11","inner11:"inner11"

            },"Inner1":{

                 "inner12":"inner12"
                        }
            }
}

我只需要在 Middle1 中取出inner11。如何通过震动实现这一点。我尝试使用 @[&] 但这仅在最里面是数组而不是像这样的单个对象时才有效。

解决方法

那些都是已知的字段名称吗?如果是这样,您可以使用以下规范:

[
  {
    "operation": "shift","spec": {
      "Top1": {
        "Middle1": {
          "@(1,Middle2.Inner1.inner11)": "Top1.Middle1.inner11","*": "Top1.Middle1.&"
        },"Middle2": {
          "Inner1": {
            "inner11": null,"*": "Top1.Middle2.Inner1.&"
          },"*": "Top1.Middle2.&"
        },"*": "Top1.&"
      }
    }
  }
]