假设我有三个字段
{
"Name": "Ben",
"City": "London",
"Country": "United Kingdom"
}
现在,当这些字段中的任何一个为空时,我不希望它在最终响应中连接起来。
例子: 如果所有三个字段都被填充,最终结果:
"Ben AND London AND United Kingdom"
,
如果只有两个(比如说城市和国家):"London AND United Kingdom"
,
如果只有一个:"Ben"
首先尝试从 payload 中过滤掉空值,然后使用 joinBy 连接字符串:
%dw 2.0
output application/json
import * from dw::core::Strings
var payload = { "Name": "Ben", "City": "London", "Country": "United Kingdom" }
---
(valuesOf(payload) filter !isBlank($)) joinBy " AND "
您可以使用以下任一方式:
%dw 2.0
output application/json
---
payload pluck ((value, key, index) -> (value)) reduce ((item, accumulator) -> accumulator ++ " AND " ++ item)
%dw 2.0
output application/json
---
payload pluck ((value, key, index) -> (value)) joinBy " AND "