【问题标题】:What is the purpose of {} in dataweavedataweave中{}的用途是什么
【发布时间】:2019-07-15 20:13:01
【问题描述】:

我正在尝试学习 Mule DataWeave 2.0,但除了 mule 文档之外的资源并不多。有什么好的教程可以推荐吗? 话虽如此,我有以下问题
---
之后的 {} 的目的是什么 例如

%dw 2.0
fun toUpper(aString) = upper(aString)
---
toUpper("hello")

返回“HELLO”
但是如果我把

---
{ toUpper("hello") } 

我收到一个错误

【问题讨论】:

    标签: dataweave mule-esb


    【解决方案1】:

    与大多数编程语言相比,DataWeave 中的{} 不用于代码范围。

    这里它用于标记Object(键/值对序列)的开始/结束,就像在 JSON 中一样。

    因此,您的代码会发出错误,因为它需要在 "hello" 字符串值之前出现 key

    例如:

    { "some_key": toUpper("hello") }
    

    【讨论】:

    • 那么如果我想将键/值对与 func 调用混合呢?类似这样的输出 application/json var num = 0 fun toUpper(aString) = upper(aString) --- toUpper("hello") { num : 5 }