使用 Jolt 重新设置 JSON 对象的父级

Re-parent a JSON object using Jolt

我想使用 Jolt 将 JSON 对象下移一层。这是我的输入数据:

{
    "rating": {
        "primary": {
            "value": 3,
            "max": 5
        },
        "quality": {
            "value": 3,
            "max": 7
        }
    }
}

我正在使用以下规范文件:

[
  {
    "operation": "shift",
    "spec": {
      "$": "NEWPARENT"
    }
  }
]

我目前正在生成此输出:

{
  "NEWPARENT" : "root"
}

但是,我的目标是产生:

{
  "NEWPARENT": {
    "rating": {
      "primary": {
        "value": 3,
        "max": 5
      },
      "quality": {
        "value": 3,
        "max": 7
      }
    }
  }
}

谁能帮我创建正确的规范文件?

规格

[
  {
    "operation": "shift",
    "spec": {
      "@": "NEWPARENT"
    }
  }
]

仅供参考,您看到的 "root" 是 Jolt 处理顶层 JSON 输入可以是 List 或 Map 的方式的产物,并且您希望能够将 List 转换为 Map(反之亦然)。

因此,颠簸 "wraps" 输入,使其 "always" 转换具有单个键 "root" 的 Map,其值为输入值。