Jolt Transformation如何用modify-overwrite-beta替换JSON中的test子串
Jolt 字符串替换转换规则实现
你可以通过modify-overwrite-beta操作搭配Jolt内置的replace函数实现需求,完整转换规则如下:
[ { "operation": "modify-overwrite-beta", "spec": { "ids": { "*": "=replace(@(1,&),'test','')" } } } ]
规则说明
ids下的*通配符匹配该节点下所有子字段,适配id1/id2/id3等任意keyreplace是Jolt beta版本提供的字符串处理函数,三个入参分别为原始字符串、待替换子串、替换后内容:- 入参1
@(1,&)表示取当前父节点(ids节点)下、与当前key同名的字段原始值 - 入参2为要删除的子串
test - 入参3为空字符串,即实现删除
test子串的效果
- 入参1
如果你需要对JSON所有层级的字符串都执行替换操作,可以使用递归通配版本的规则:
[ { "operation": "modify-overwrite-beta", "spec": { "*": { "$*": "=replace(@(0),'test','')" } } } ]
将你提供的输入JSON代入第一版规则转换后,即可得到你期望的输出结果。
内容的提问来源于stack exchange,提问作者bvu
相关产品推荐
相关产品推荐

