微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Dataweave 中将数组值列表转换为映射

如何解决如何在 Dataweave 中将数组值列表转换为映射

嗨,我有一个采用这种格式的有效载荷。尝试编写 dataweave 函数来转换此有效负载,但我无法满足确切的期望。

{
"OUT_ORDER_CONTENTS_TAB": [
    [
        776665544,100,"Limited C/O","loanPurpose"
    ],[
        776665544,"THE PURPOSE OF PURCHASE ","contains blank space","borrower/2/borrowerPhone"
    ]
]
}

预期的输出格式是

{
"/loanPurpose": ["Limited C/O","THE PURPOSE OF PURCHASE "],"/borrower/2/borrowerPhone": ["contains blank space"]
}

解决方法

这比将数组转换为映射要复杂一些,因为数组的元素内部是数组,您需要按其中一个索引(第 4 个元素)进行分组,然后从另一个索引(第 3 个元素)收集值).

可以通过 groupBy() 和 mapObject() 来实现:

%dw 2.0
output application/json
---
(payload.OUT_ORDER_CONTENTS_TAB 
    groupBy ((item,index) -> item[3] ) )
    mapObject ((value,key,index) -> ("/"++(key)):value map $[2])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。