JOLT拼接操作失效求助:目标字段无值填充
JOLT字符串拼接解决方法:生成requesterDetails字段并填充值
我需要用JOLT把输入中的WG_REQ_FIRST_NAME(值为Sam)和WG_REQ_LAST_NAME(值为Jones)拼接成requesterDetails字段,期望输出值为Sam Jones。目前目标字段已生成,但未填充对应内容。
解决方案
使用JOLT的modify-overwrite-beta操作配合concat函数即可实现字符串拼接,以下是适配不同输入层级的示例:
情况1:字段处于根层级
如果输入结构如下:
{ "WG_REQ_FIRST_NAME": "Sam", "WG_REQ_LAST_NAME": "Jones" }
对应的JOLT变换规则:
[ { "operation": "modify-overwrite-beta", "spec": { "requesterDetails": "=concat(@(1,WG_REQ_FIRST_NAME), ' ', @(1,WG_REQ_LAST_NAME))" } } ]
情况2:字段嵌套在子层级
如果输入字段嵌套在某个对象下(比如input节点):
{ "input": { "WG_REQ_FIRST_NAME": "Sam", "WG_REQ_LAST_NAME": "Jones" } }
对应的JOLT变换规则需调整层级索引:
[ { "operation": "modify-overwrite-beta", "spec": { "requesterDetails": "=concat(@(2,input.WG_REQ_FIRST_NAME), ' ', @(2,input.WG_REQ_LAST_NAME))" } } ]
关键说明
modify-overwrite-beta是支持字符串拼接、数值运算等复杂变换的核心操作=concat()函数接收多个参数,按顺序拼接字符串,这里用空格' '作为名字的分隔符@(N,字段路径)中的N表示向上遍历的层级数,需根据你实际输入的JSON结构调整该数值,确保能正确定位到WG_REQ_FIRST_NAME和WG_REQ_LAST_NAME字段
内容的提问来源于stack exchange,提问作者Sam Jones
相关产品推荐
相关产品推荐

