[英]How can we convert Mule 4 datawevae 2.0 code to Mule 3 dataweave 1.0?
[英]Conditional filtering in Mule Dataweave %1.0
我正在嘗試過濾來自JSON數組的特定值。 我的示例數組如下:
"source":[
{
"value": {
"Type": [
{
"val": "Primary",
"code": "PRI"
}
],
"Value": [
{
"val": "PHAR",
"Code": "Pharmacy"
}
]
}
},
{
"value": {
"Type": [
{
"val": "Secondary",
"code": "SEC"
}
],
"Value": [
{
"val": "HOSP",
"Code": "Hospital"
}
]
}
}
]
在上面,我需要讀取第一次出現的source.value.Value.val ,其中source.value.Type.code ==“ SEC”我的數組可以有多個代碼,例如“ PRI”,“ SEC”等,我需要僅獲取代碼為“ SEC”的數據(首次出現)
您可以使用過濾器功能過濾陣列。
%dw 1.0
%output application/json
---
{
output: payload.source filter ($.value.Type[0].code == "SEC")
}
上面的代碼將產生以下輸出:
{
"output": [
{
"value": {
"Type": [
{
"val": "Secondary",
"code": "SEC"
}
],
"Value": [
{
"val": "HOSP",
"Code": "Hospital"
}
]
}
}
]
}
修正 :這是新的代碼段,它將只為您提供所需的值,而不是整個數組
%dw 1.0
%output application/json skipNullOn="everywhere"
---
{
(payload.source default [] map (source, indexOfSource) -> {
output: source.value.Value[0].val when source.value.Type[0].code == "SEC" otherwise null
})
}
上面這段代碼的輸出是:
{
"output": "HOSP"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.