我想看看是否有任何 Types.Flag 以 'X' 开头,如果为 true,我需要将 'subscribed' 设置为 true。
输入:
{
"Subscribers": [{
"PhoneNumber": "9876543210",
"Types": [{
"Name": "abcd",
"Flag": "WIR"
},
{
"FilterName": "efg",
"Flag": "XNJ"
},
{
"FilterName": "hijk",
"Flag": "YIR"
}
]
},
{
"PhoneNumber": "9823456789",
"Types": [{
"FilterName": "lmn",
"Flag": "MST"
}]
}
]
}
预期输出
{
"subscriberList": [
{
"phoneNumber": "2012020004",
"subscribed": true
},
{
"phoneNumber": "2234567890",
"subscribed": false
}
]
}
您能否建议如何实现这一目标?
尝试这个:
%dw 2.0
output application/json
import some from dw::core::Arrays
var data = {
"Subscribers": [{
"PhoneNumber": "9876543210",
"Types": [{
"Name": "abcd",
"Flag": "WIR"
},
{
"FilterName": "efg",
"Flag": "XNJ"
},
{
"FilterName": "hijk",
"Flag": "YIR"
}
]
},
{
"PhoneNumber": "9823456789",
"Types": [{
"FilterName": "lmn",
"Flag": "MST"
}]
}
]
}
---
subscriberList: data.Subscribers map {
phoneNumber: $.PhoneNumber,
subscribed: $.Types.*Flag some (e) -> e startsWith "X"
}
这是我使用的函数的文档:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句