如何在JOLT中使用shift操作读取嵌套值



可能这是非常基本的,但我是JOLT的新手,经过几次尝试后我没有得到预期的输出。我正在尝试使用移位操作读取嵌套值。基本上人的值是动态的,基于这个值,我需要从职业对象中读取值。我正在工作的输入是巨大的,一切都如预期的那样工作,所以我只是把我卡住的部分。

输入>:
{
"person": "Tom Hanks",
"profession": {
"Tom Hanks": "actor",
"Christopher Nolan": "director"
}
}

预期输出:

{
"output" : "actor"
}

我正在尝试使用下面的东西来实现这一点。我知道这是不正确的格式,但只是把它知道是否有这样的东西可以用来获得预期的输出。

[
{
"operation": "shift",
"spec": {
"@(1,profession).@(1,person)": "output"
}
}
]

有人能帮帮我吗?提前感谢!!

我将值转换为一个键,以匹配&操作符。也许有一种更优雅的方式。

[
{
"operation": "shift",
"spec": {
"profession": "@(1,person)"
}
},
{
"operation": "shift",
"spec": {
"*": {
"&": "output"
}
}
}
]

最新更新