【问题标题】:Error when adding conditional check in Dataweave在 Dataweave 中添加条件检查时出错
【发布时间】:2017-01-18 09:27:50
【问题描述】:

我正在使用 Anypoint Studio 6.1 和 Mule 3.8.1。

我有一个来自 CSV 文件的布尔字段,我想添加代码来清理数据,例如将 "Y"、"Yes" 变为 true 或将其设置为 false。

我只希望该字段有值时代码工作。如果它是'',那么我想忽略它,如果它被填充然后清理数据。我认为添加一个 when 语句将是答案,但它在预览中出错。如何进行条件检查?

数据编织代码:

(payload filter $$ > 2) map ((payload01 , indexOfPayload01) -> {
    ({
        isPaid: true
    }
        when payload01.balanced != ''
        and ((lower payload01.balanced == 'yes'
        or (lower payload01.balanced) == 'y'
        or (lower payload01.balanced ) == 'true')
        otherwise {
        isPaid: false
    })
})

【问题讨论】:

    标签: mule anypoint-studio dataweave


    【解决方案1】:
    Please use below code snipped of Data Weave:
    (payload filter $$ > 2) map ((payload01 , indexOfPayload01) -> {
    ({
        isPaid: true    when ((payload01.balanced != '')
                        and ((lower payload01.balanced) == 'yes')
                        or ((lower payload01.balanced) == 'y')
                        or ((lower payload01.balanced ) == 'true')) otherwise false
    })
    

    【讨论】:

    • 请添加一些英文文本来解释您的答案。不要只发布代码答案。
    【解决方案2】:
       (payload filter $$ > 2) map ((payload01 , indexOfPayload01) -> {
    ({
        isPaid: true
    }
        when payload01.balanced?
        and ((lower payload01.balanced == 'yes'
        or (lower payload01.balanced) == 'y'
        or (lower payload01.balanced ) == 'true')
        otherwise {
        isPaid: false
    })
    

    })

    在上面试试这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多