Json 颠簸变换-替换所有匹配项
我正在尝试使用JOLT转换来工作 我想用“7.11”替换所有“主”值 输入:Json 颠簸变换-替换所有匹配项,json,transformation,jolt,Json,Transformation,Jolt,我正在尝试使用JOLT转换来工作 我想用“7.11”替换所有“主”值 输入: { "build": [ { "number": "7.11.13898", "branchName": "branch1" }, { "number": "7.11.13896", "branchName": "branch2" }, { "number": "7.11.13895", "branchN
{
"build": [
{
"number": "7.11.13898",
"branchName": "branch1"
},
{
"number": "7.11.13896",
"branchName": "branch2"
},
{
"number": "7.11.13895",
"branchName": "master"
},
{
"number": "7.11.13900",
"branchName": "master"
}
]
}
期望输出:
{
"build": [
{
"number": "7.11.13898",
"branchName": "branch1"
},
{
"number": "7.11.13896",
"branchName": "branch2"
},
{
"number": "7.11.13895",
"branchName": "7.11"
},
{
"number": "7.11.13900",
"branchName": "7.11"
}
]
}
如果不改变数据的结构,我似乎无法得到一个有效的转换或移位。
目前的做法:
[
{
"operation": "shift",
"spec": {
"build": {
"*": {
"number": "build[&1].number",
"branchName": {
"master": {
"#7.11": "build[&3].branchName"
},
"*": {
"@(2, branchName)": "build[&3].branchName"
}
}
}
}
}
}
]
电流输出:
{
"build" : [ {
"number" : "7.11.13898"
}, {
"number" : "7.11.13896"
}, {
"branchName" : "7.11",
"number" : "7.11.13895"
} ]
}
你快找到了。您需要将
@(2,branchName)
替换为$
,它应该适合您
“$”运算符表示使用输入键,而不是输入值
作为输出
解决方案:
[
{
"operation": "shift",
"spec": {
"build": {
"*": {
"number": "build[&1].number",
"branchName": {
"master": {
"#7.11": "build[&3].branchName"
},
"*": {
"$": "build[&3].branchName"
}
}
}
}
}
}
]
非常感谢你!我在想办法解决这个问题。