如何在Jolt Transform中实现针对键的If Else条件转换?
Jolt Transform条件逻辑支持与规则实现
Jolt原生支持If Else类条件转换规则,无需自定义开发,通过shift操作符的值匹配能力即可实现分支逻辑。
针对给出的输入输出场景,可直接使用如下转换规则:
[ { "operation": "shift", "spec": { "treasure": { "*": { "bname": "sname", "aname": { "FOO": { "@0": "fname" }, "*": { "@1": "aname" } } } } } } ]
规则逻辑说明:
- 固定重命名逻辑:遍历
treasure数组下的所有元素,直接将元素内的bname字段值映射到根节点的sname字段,完成无判断的重命名 - 条件分支逻辑:对元素内的
aname字段做值匹配- 当
aname字段值为FOO时,将值映射到根节点的fname字段,满足条件时重命名 - 当
aname字段值为其他内容时,将原始值映射到根节点的aname字段,保留原字段名
- 当
使用上述规则处理样例输入,即可得到符合预期的输出结构。
内容的提问来源于stack exchange,提问作者Arnold Joseph
相关产品推荐
相关产品推荐

