问题描述
我需要使用jolt转换来执行以下JSON转换。
需要将输入Json中的“ PID3”值拆分为输出Json中的键值对数组
输入JSON
{ "PID1": "value1","PID2": "value2","PID3": "k1^value1~k2^value2~k3^value3" # It is Dynamic might contain multiple key value pair seperated by ~
}
输出JSON
{
"PID1": "value1","PID3": [
{
"key":"k1","value":"value1"
},{
"key":"k2","value":"value2"
},{
"key":"k3","value":"value3"
}
-基于输入字符串的倍数
]
}
解决方法
这应该可以解决问题:
[
{
"operation": "modify-overwrite-beta","spec": {
"PID3": "=split('~',@(1,PID3))"
}
},{
"operation": "shift","spec": {
"*": "&","PID3": {
"*": "PID3.[&].part"
}
}
},{
"operation": "modify-overwrite-beta","spec": {
"PID3": {
"*": {
"part": "=split('\\^',part))","key": "@(1,part[0])","value": "@(1,part[1])"
}
}
}
},{
"operation": "remove","spec": {
"PID3": {
"*": {
"part": ""
}
}
}
}
]