[英]Mule issue mapping payload dataweave 2.0
我正在嘗試 map 下面的 json 有效負載僅顯示具有“999”值的日期。 下面是我的有效載荷
[
{
"Delivery Date": "16",
"17/01/2018": "0",
"18/01/2018": "999",
"19/01/2018": "999",
"20/01/2018": "0",
"29/01/2018": "999",
"18/02/2018": "0",
"19/02/2018": "999",
"20/02/2018": "999",
"03/03/2018": "999"
}
]
而我想要的 output 是
{
"available_date": [
"18/01/2018",
"19/01/2018,
"29/01/2018",
"19/02/2018",
"20/02/2018",
"03/03/2018"
],
"message": ""
}
感謝您的任何建議!
我試過這個。
%dw 2.0
output application/json
---
{
"available_date":
(payload mapObject ((value, key, index) -> ((key): (value)) if (value == "999")) pluck $$),
"message":""
}
方法 2 FilterObject , keysOf
%dw 2.0
output application/json
---
{
"available_date": keysOf(payload filterObject ((value, key) -> value == "999")),
"message":""
}
Output
{
"available_date": [
"18/01/2018",
"19/01/2018",
"29/01/2018",
"19/02/2018",
"20/02/2018",
"03/03/2018"
],
"message": ""
}
使用filterObject
和keysOf
替代方法:
%dw 2.0
output application/json
---
{
'available_date' : keysOf(payload filterObject ((value, key, index) -> value contains "999")),
message: ""
}
其他解決方案都很好。 為了完整起見,我將使用 filterObject() 然后 pluck() 貢獻一個。
%dw 2.0
output application/json
---
{
available_date: payload
filterObject ($ == "999")
pluck ((value, key, index) -> key),
message: ""
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.