如何根据有效负载中的值设置变量?

How do I set a variable based on the value in the payload?

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

如果payload.segmentation = 本地,那么变量的值应该是"material_reg"

如果payload.segmentation=网络,那么变量的值应该是"material"

您可以使用 pattern matching

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

或者只是 if/else clauses:

%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 都适合您,因为您只需要一个字符串变量。