当前位置: 首页 > 知识库问答 >
问题:

嵌套JSON的JOLT转换?

容阳焱
2023-03-14

我有一个JSON如下所示:

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

为什么在输出中看不到Level1、Level2?请有人帮忙,我想看看在输出和输入太相似了。

共有1个答案

臧彭亮
2023-03-14

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

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

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

 类似资料:
  • 我有一个嵌套的JSON对象,如下所示: 我想将其转换为: 我如何使用JOLT实现这一点?感谢您的参与。

  • 我有json,其中包括多个产品,每个产品有多个不同的细节。使用jolt,我只需要输入json中的几个字段,遵循与输入json几乎相同的结构。我成功地迭代了产品,但是当我试图迭代每个产品变体时,我没有得到想要的输出。 输入. json 这里是Spec.json 我想要的预期输出。 我现在得到的实际输出。

  • 如何使用jolt转换将平面JSON转换为嵌套JSON?我对JSON和jolt是新手。 输入: 预期输出: 编辑:我想在< code>SubFunds中添加一个新字段,但是新字段不在JSON文件中,它是计算字段,我可以按原样添加示例吗 并重命名字段:

  • 所以目前我看到的是这样的: 这是我目前编写的Jolt规范(编辑): 以及转换后的输出: 任何帮助都是非常感谢的。

  • 我只想扁平化嵌套JSON的属性,但仍然适用于输入数组中的所有对象 很难将这三个字段放在一个规范中(类型字段、geo字段、properties字段)。我编写了规范来单独完成每一个操作,但是当我将这些规范组合在一个对象中使用时,它会产生错误的输出--对象数组真的把它搞砸了。 期望输出:

  • 我正在尝试编写一个规范来使用jolt转换进行以下转换。我只对更改json中键的名称感兴趣,值应该保持不变。帮帮我。 输入Json: 预期输出: