首页 > 解决方案 > 如何根据有效负载中的值设置变量?

问题描述

如何根据有效负载中的值设置变量(使用设置变量转换器)?其中payload是json格式。

如果payload.segmentation = local,那么变量的值应该是“material_reg”

如果payload.segmentation = network,那么变量的值应该是“material”

标签: mulemule-studiodataweavemulesoftmule-esb

解决方案


您可以使用模式匹配

%dw 2.0
output application/json
---
payload.segmentation match {
 case "local" -> "material_reg"
 case "network" -> "material"
}

或者只是if/else 子句

%dw 2.0
output application/json
---
if (payload.segmentation == "local") 
    "material_reg"
else 
    if (payload.segmentation == "network") 
        "material" 
    else 
        ""

请注意,我将application/json其用作输出,但我认为application/java甚至text/plain会为您工作,因为您只需要一个 String 变量。


推荐阅读