如何在Jolt中将空列表转换为空输出而非null?
解决Jolt空列表输入时输出null改为空内容的问题
当输入为空列表[]时,现有Jolt转换规则会输出null,我们可以通过添加default操作实现空输入时输出空内容,同时保留非空列表的正常转换逻辑。
修改后的完整转换规则
[ { "operation": "modify-overwrite-beta", "spec": { "*": { "comments": "Sample values." } } }, { "operation": "shift", "spec": { "*": { "a": "[&1].A", "b": "[&1].B", "c": "[&1].C", "comments": "[&1].comments" } } }, { "operation": "default", "spec": "" } ]
规则说明
- 新增的
default操作会检测根节点的值:如果根节点为null(即空列表输入时的转换结果),就将其替换为指定的空字符串。 - 如果期望输入空列表时输出空列表而非空字符串,只需把
default操作的spec值改为[]即可。
验证效果
- 输入空列表
[]:输出为空内容(或空列表,根据配置) - 输入非空列表示例
[{"a":1,"b":2,"c":3}]:正常输出转换后的结果[{"A":1,"B":2,"C":3,"comments":"Sample values."}]
内容的提问来源于stack exchange,提问作者janvit04
相关产品推荐
相关产品推荐

