JSON 到 JSON 使用 Jolt Spec,将字符串拆分为数组
JSON to JSON using Jolt Spec, split String to array
我需要使用颠簸变换来进行下面的 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",
"PID2": "value2",
"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('\^', @(1,part))",
"key": "@(1,part[0])",
"value": "@(1,part[1])"
}
}
}
},
{
"operation": "remove",
"spec": {
"PID3": {
"*": {
"part": ""
}
}
}
}
]
我需要使用颠簸变换来进行下面的 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",
"PID2": "value2",
"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('\^', @(1,part))",
"key": "@(1,part[0])",
"value": "@(1,part[1])"
}
}
}
},
{
"operation": "remove",
"spec": {
"PID3": {
"*": {
"part": ""
}
}
}
}
]