如何解决DataWeave 2.0否则条件
对于Dataweave来说还很陌生,它尝试根据以下条件实现简单的if else条件
if (vars.country == "USA")
{ currency: "USD" }
else { currency: "EUR" }
这很好。但是,当我尝试使用以下其他json变量时,它会失败
%dw 2.0
output application/json encoding="UTF-8"
---
Name: "ABC",if (vars.country == "USA")
{ currency: "USD" }
else { currency: "EUR" }
解决方法
完成它的几种方法:
使用与您拥有的表达式类似的表达式,如果对象中包含多个字段,则必须将其包含在{}
中
%dw 2.0
output application/json encoding="UTF-8"
---
{
Name: "ABC",(if (vars.country == "USA")
currency: "USD"
else
currency: "EUR")
}
使用++
函数来连接对象heres the documentation
%dw 2.0
output application/json encoding="UTF-8"
---
{Name: "ABC"} ++ (
if (vars.country == "USA")
{currency: "USD"}
else
{currency: "EUR"}
)
最后,使用conditional elements功能
%dw 2.0
output application/json encoding="UTF-8"
---
{
Name: "ABC",(currency: "USD") if (vars.country == "USA"),(currency: "EUR") if not (vars.country == "USA")
}
选择一个喜欢的人。
,您需要像这样用括号括住条件
%dw 2.0
output application/json encoding="UTF-8"
var country = "UK"
---
{
Name: "ABC",(if (country == "USA") currency: "USD" else currency: "EUR")
}
输出
{
"Name": "ABC","currency": "EUR"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。