如果我们指定一个静态的搜索值,JSON数组的过滤工作正常,如果我们使用一个动态的值,就不工作了。
尝试动态传递值。
在输入json下面添加了jolt规范,供您参考。
输入:
{
"selected_key": "key2",
"keys": [
{
"name": "value1",
"key": "key1"
},
{
"name": "value21",
"key": "key2"
},
{
"name": "value22",
"key": "key2"
},
{
"name": "value3",
"key": "key3"
},
{
"name": "value4",
"key": "key4"
}
]
}
JOLT规范:
[
{
"operation": "shift",
"spec": {
"keys": {
"*": {
"key": {
"@(4,selected_key)": {
"@2": "test"
}
}
}
}
}
}
]
预期输出:
{
"test": [
{
"name": "value21",
"key": "key2"
},
{
"name": "value22",
"key": "key2"
}
]
}
输出:规范不过滤任何值,所有数组项都被添加到输出json中
{
"test": [
{
"name": "value1",
"key": "key1"
},
{
"name": "value21",
"key": "key2"
},
{
"name": "value22",
"key": "key2"
},
{
"name": "value3",
"key": "key3"
},
{
"name": "value4",
"key": "key4"
}
]
}
1条答案
按热度按时间gc0ot86w1#
您可以使用两个连续的shift转换规范,例如
http://jolt-demo.appspot.com/站点上的***演示***是