Mule 在Dataweave中动态引用有效负载字段名称

Mule 在Dataweave中动态引用有效负载字段名称,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我正在使用Anypoint Studio 7.3和Mule 4.1 在转换消息时,我希望动态地从JSON负载传递字段名,因此在第一次调用时,我希望使用“cat_name”字段中的值,在第二次调用时,我希望使用“dog_name”字段中的值,因为输出消息结构将是相同的。所以对于“cat_name”,我希望$(vars.codetest)被解析为payload.cat_name,对于“dog_name”,我希望$(vars.codetest)被解析为payload.dog_name 有没有办法做到这

我正在使用Anypoint Studio 7.3和Mule 4.1

在转换消息时,我希望动态地从JSON负载传递字段名,因此在第一次调用时,我希望使用“cat_name”字段中的值,在第二次调用时,我希望使用“dog_name”字段中的值,因为输出消息结构将是相同的。所以对于“cat_name”,我希望$(vars.codetest)被解析为payload.cat_name,对于“dog_name”,我希望$(vars.codetest)被解析为payload.dog_name

有没有办法做到这一点

%dw 2.0
output application/json
---
(payload distinctBy $.#[vars.codetest]) map ((payload01, indexOfPayload) ->{
    name: $.(vars.codetest)
})

感谢您的帮助

类似的方法应该会奏效:

%dw 2.0
output application/json
---
payload 
  distinctBy $[vars.codetest]   
  map ((element) -> { name: element[vars.codetest] })
您可能需要在codeTest(即
(vars.codeTest)
)周围设置参数,以便在查找之前对其进行评估