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

问题描述 投票:1回答:1

我正在使用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)
})

谢谢你的帮助

mule anypoint-studio dataweave
1个回答
2
投票

这样的事情应该有效:

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

您可能需要围绕codeTest(即(vars.codetest))的parens,以便在查找之前对其进行评估。

© www.soinside.com 2019 - 2024. All rights reserved.