编写带条件判断的Jolt规格:根据restrictionType设置布尔属性
Jolt 转换规格实现方案
需求说明
当输入JSON中body.Contract.stayRestrictions[]内的restrictionType值为"ClosedToArrival"时,在输出JSON的body.Block.stayRestriction[]中设置isClosedToArrival="true";否则设置为"false"。
Jolt 规格
[ { "operation": "shift", "spec": { "body": { "Contract": { "stayRestrictions": { "*": { "restrictionType": { "ClosedToArrival": { "#true": "body.Block.stayRestriction[&3].isClosedToArrival" }, "*": { "#false": "body.Block.stayRestriction[&3].isClosedToArrival" } } } } } } } } ]
输入输出验证
输入示例
{ "body": { "Contract": { "stayRestrictions": [ { "restrictionType": "ClosedToArrival" } ] } } }
输出示例
{ "body": { "Block": { "stayRestriction": [ { "isClosedToArrival": "true" } ] } } }
规格说明
- 采用
shift操作完成字段映射与条件分支判断 - 通过
*遍历stayRestrictions数组的每一项元素 - 针对
restrictionType的值做精准匹配:匹配到ClosedToArrival时赋值"true",其余情况统一赋值"false" &3用于回溯到数组的索引层级,确保输出数组结构与输入数组的元素位置一一对应
内容的提问来源于stack exchange,提问作者Optimizer
相关产品推荐
相关产品推荐

