mule - DataWeave 1.0 - Mulesoft 查询
问题描述
我是数据编织语言的新手。请您帮忙解决这个语法错误“无效输入”否则(“,预期是,*,<=,<,>=,as,或者,
, ~=, -, functionCall, ==, fullAttributes, +, !=, :, and, / or >" 第一次出现下面的单词“otherwise”。
%dw 1.0
%output application/json
---
{
ref:[{
captureDetails : {
captureSource : "aa",
captureDate : ""
},
effectiveDate : "",
expiryDate : "",
preferenceLevel : "customer",
sourcePreferenceCode: {
(( preferenceCode: "A1" ) when trim payload.key == "REF1"
otherwise (
( preferenceCode: "A2" ) when trim payload.key == "REF2"
otherwise (
( preferenceCode: "A3" ) when trim payload.key == "REF3"
otherwise (
( preferenceCode: "A4" ) when trim payload.key == "REF4"
otherwise (
( preferenceCode: "A5" ) when trim payload.key == "REF5"
otherwise (
( preferenceCode: "A6" ) when trim payload.key == "REF6"
otherwise (
( preferenceCode: "A7" ) when trim payload.key == "REF7"
otherwise (
( preferenceCode: "A8" ) when trim payload.key == "REF8"
otherwise ( preferenceCode: "" )
)
)
)
)
)
)
)
),
preferenceValue: trim payload.value
},
}],
lastUpdateDetails:{
lastUpdateId:"adam",
lastUpdateTimestamp:"2019-07-19",
lastUpdateFunction:"U",
lastUpdateChannel : "P"
}
}
解决方案
我会使用在match
这种情况下应该更清楚的运算符:
%dw 1.0
%output application/json
---
{
ref:[{
captureDetails : {
captureSource : "aa",
captureDate : ""
},
effectiveDate : "",
expiryDate : "",
preferenceLevel : "customer",
sourcePreferenceCode: {
preferenceCode: (trim payload.key) match {
"REF1" -> "A1",
"REF2" -> "A2",
"REF3" -> "A3",
"REF4" -> "A4",
"REF5" -> "A5",
"REF6" -> "A6",
"REF7" -> "A7",
"REF8" -> "A8",
default -> ""
},
preferenceValue: trim payload.value
}
}],
lastUpdateDetails:{
lastUpdateId:"adam",
lastUpdateTimestamp:"2019-07-19",
lastUpdateFunction:"U",
lastUpdateChannel : "P"
}
}
推荐阅读
- php - 在 Laravel 中进行选择字段的更简洁方法
- android-recyclerview - 通过转换转换从不同来源(存储、火库)检索到的实时数据
- firebase - 如何在 firebase 上注册用户?
- javascript - 使用 Web 服务登录 Moodle 的问题
- strongloop - 如何在loopback4中执行pdf报告生成
- node.js - 如何将数据插入到 nodejs 中的模式数组中?
- r - 测试字符串是否包含字母和字符
- ubuntu - 继续使用 libcoap
- python - 如何让字符串列的所有包含匹配项?
- python - Django 表单调整 CharField/Textarea 字段的大小