【发布时间】:2019-05-21 17:43:45
【问题描述】:
我有这段 Dataweave 代码
list_of_orders: {
order: payload map ((payload01 , indexOfPayload01) -> {
order_dtl:
"" when payload01[30] == "S"
otherwise
"" when payload01[30] == "C"
otherwise
[{
data: some_data
}],
order_hdr: {
data: some_data
}
})
}
这段代码会输出以下数据
"list_of_orders": {
"order": [
{
"order_dtl": [
{
"data": "some_data"
}
],
"order_hdr": {
"data": "some_data"
}
}
]
}
但只有在 payload01[30] != "S" 或 "C" 时才会这样做 如果 payload01[30] 等于 "S" 或 "C" 那么它会这样做
"list_of_orders": {
"order": [
{
"order_dtl": "",
"order_hdr": {
"data": "some_data"
}
}
]
}
我这样做的原因是,如果 order_type 不是“C”或“S”,我被要求仅包含 DETAIL 行。
问题是实际的密钥 - order_dtl - 仍然存在,我根本不想要任何东西。
如何使 KEY 有条件?
任何帮助表示赞赏
谢谢
【问题讨论】:
标签: anypoint-studio dataweave mulesoft