将IF语句转换为另一个IF语句DW 2.0

时间:2019-01-04 16:35:27

标签: mule anypoint-studio

 var lnc_id = []
 output application/java
 ---     
 if (payload.success contains true and payload.accepted contains true)
 {    
     if (lnc_id contains vars.payload_json.data.LNC_ID)
         {
             lnc_id + lnc_id contains vars.payload_json.data.LNC_ID
         }
 }

我正在与Mulesoft一起编写Api,我需要在另一个IF中使用一个IF,语言是Datawave 2.0。

错误是:

  

“无效的输入” f“,预期的命名空间”

1 个答案:

答案 0 :(得分:1)

您的脚本有几个问题:

  • {}表示一个对象,您需要 在对象内使用属性而不是表达式。
  • 每个都必须具有else子句。
  • lnc_id将 不会在两次执行之间保留值,因此它将始终以 空数组(可能会出现这种情况,但是我想澄清一下以防万一)。

这是一个简单的示例,说明如何在其他情况下嵌套

 var list = []
 var success = true
 output application/java
 ---     
 if (success == true )
    if (3 > 2)
            ( list + "something")
     else null
 else null