Jolt转换问题:输入数组元素间依赖关系处理方案咨询
JSON断言数组转换:Shift运算符可行吗?
核心结论
这种转换完全可以通过Shift运算符实现,无需自定义Transform。
实现逻辑
利用Shift的条件判断和数组操作能力就能完成需求:
- 用
@if指令判断数组首元素是否为'AND' - 若匹配,直接提取数组从索引1开始的所有子元素作为断言数组
- 若不匹配,将原数组包装为单元素数组(符合输出的断言数组结构)
示例Shift规则
{ "assertions": { "@if": [ {"===": [{"$": "[0]"}, "AND"]}, {"$": "[1:]"}, [{"$": ""}] ] } }
效果验证
- 输入含
AND的数组:["AND", ["eq", "a", 1], ["gt", "b", 2]]
输出:{"assertions": [["eq", "a", 1], ["gt", "b", 2]]} - 输入单个断言数组:
["eq", "a", 1]
输出:{"assertions": [["eq", "a", 1]]}
内容的提问来源于stack exchange,提问作者Albert Gevorgyan
相关产品推荐
相关产品推荐

