【发布时间】:2019-07-19 22:34:25
【问题描述】:
我正在使用 jolt 来进行一些转换,我已经能够做到这一点,但是我在尝试替换我的 JSON 文件的某些属性中的某些文本时遇到了一些问题。
我尝试用 / 分割值,然后将我需要的部分与附加文本连接起来,不幸的是,这不起作用。
输入 JSON
{
"components" : {
"values" : {
"value1" : {
"$path" : "1/2/3/bear"
},
"value2" : {
"$path" : "1/2/3/cat"
},
"value3" : {
"$path" : "1/2/3/lion"
}
}
}
}
我想使用 $path 的最后一部分将 '#/myvalue/' 添加到每个 $path 值。
预期结果
{
"components" : {
"values" :
"value1" : {
"$path" : "#/myvalue/bear"
},
"value2" : {
"$path" : "#/myvalue/cat"
},
"value3" : {
"$path" : "#/myvalue/lion"
}
}
}
}
我尝试了以下一种方法来获取价值,但它没有按预期工作。
[
{
"operation": "shift",
"spec": {
"components": {
"values": {
"*": {
"\\$path": { //This key has de $ sign
"*/*/*/*": {
"$(0,4)": "\\$path" //I need to take the four part and assign that to the \\path value
}
}
}
}
}
}
}, {
"operation": "modify-overwrite-beta",
"spec": {
"components": {
"values": {
"*": {
"\\$path": "=concat('#/myvalue/', @(1,\\$path))"
}
}
}
}
}
]
【问题讨论】: