我是 JOLT Transformation 的新手,您能帮我完成以下工作吗?
我有一个以下格式的输入 JSON。
我的要求是检查“playBot”中的“id”是否为 PROGRAM ,然后在“header”中包含“billID”:“1800-A”。 如果“id”不是 PROGRAM(除了 PROGRAM 之外的任何其他值),则不要包含 billID。
输入:
{
"playBot" : {
"id" : "PROGRAM",
"source" : "TestUser",
"dateTime" : "01-09-2024 13:24:42"
},
"header" : {
"activityID" : "4100",
"memberID" : "User-ABC",
"billID" : "1800-A"
}
}
期望的输出:
{
"playBot" : {
"id" : "PROGRAM",
"source" : "TestUser",
"dateTime" : "01-09-2024 13:24:42"
},
"header" : {
"activityID" : "4100",
"memberID" : "User-ABC",
"billID" : "1800-A"
}
}
期望的输出:
{
"playBot" : {
"id" : "TEST",
"source" : "TestUser",
"dateTime" : "01-09-2024 13:24:42"
},
"header" : {
"activityID" : "4100",
"memberID" : "User-ABC"
}
}
您可以使用此 shift 转换规范,其中包括从节点开始的行中的条件逻辑
"header"
[
{
"operation": "shift",
"spec": {
"p*": "&", // "playBot" object
"header": {
"@1,playBot.id": {
"PROGRAM": {
"@2,billID": "&2.billID"
},
"*": "" // else case in order to vanish attribute "billID"
},
"a*|m*": "&1.&"
}
}
}
]