是否可以在dataweave中使用通配符访问数据?
我的有效负载为 Entry_1_m1,Entry_2_m1,Entry_3_m1 条目将是动态的,可能还有其他条目为Entry_1_m2,Entry_2_m2,Entry_3_m2。 所以我应该能够获得值而不管最后一个数字是否应该得到(Entry_1_m *)的值。在dataweave中可以吗?
%dw 1.0
%input payload application/java
%output application/xml
---
{
Employee:{
empRequest:{
ReqNumber:payload.RequestNumber,
Reasons:{
Entry:payload.Entry_1_m1,
Entry:payload.Entry_2_m1,
Entry:payload.Entry_3_m1
}
}
}
}
答案 0 :(得分:1)
使用pluck运算符获取键列表,这些键可帮助您映射以Entry_1_m
开头的所有字段。以下代码为我工作
%dw 1.0
%input payload application/java
%output application/xml
%var keys = (payload pluck $$) filter ($ startsWith 'Entry_1_m')
---
{
Employee:{
empRequest:{
ReqNumber:payload.RequestNumber,
Reasons: {(keys map {
Entry:payload[$]
})}
}
}
}
希望这有帮助。