我想使用JOLT将下面的输入json转换为输出json。这里的主要问题是在列表中,我必须删除一些根键(Param1,Param2,...)会动态变化的字段。我尝试低于规格,但没有用。 在这种情况下需要帮助。
Input JSON : [
{
"paramCollection": [
{
"Param1": {
"value": 1,
"limit": "10"
}
},
{
"Param2": {
"value": 1,
"limit": "20"
}
}
]
}
]
Output JSON : [ {
"paramCollection" : [ {
"Param1" : {
"value" : 1
}
}, {
"Param2" : {
"value" : 1
}
} ]
} ]
spec : [
{
"operation": "remove",
"spec": {
"*": {
"paramCollection" : {
"*": {
"[&1].[&1].limit": ""
}
}
}
}
}
]
答案 0 :(得分:1)
您几乎是正确的。这是应该稍作修改的规范:
[
{
"operation": "remove",
"spec": {
"*": {
"paramCollection": {
"*": {
"*": {
"limit": ""
}
}
}
}
}
}
]
[&1].[&1].
似乎多余并且不正确。看来remove operation不支持apmersand(&
)通配符。参见shift operation docs
'&'通配符
- 在LHS(左侧-输入JSON键)和RHS(输出数据路径)上有效