需要帮助,使用Mulesoft中的dataweaver为数组中的子项组构建标题(动态)

Vineetz

(PS:下面是一个简化的示例来解释我的要求。实际数据要庞大得多且复杂得多。)

我有一个行列表,可以用作订单项。我需要将这些订单项动态分组,并为每个组建立标题。如果您可以遵循结构。

1输入结构 输出结构

我已经实现了逻辑,但它仅考虑替代行,即数组[0],1,[4],[6]。1,3,5等遗失

这是我在数据编织器转换消息中的逻辑:

%dw 2.0
output application/java
---
flatten(payload map ((item, index) ->
[{
"type":"header",
"name":"",
"code":payload[index].code,
"status":payload[index].status
},
{
"type":"lineitem",
"name":payload[index].name,
"code":"",
"status":""
}]

想法是将每一行基本上分为标题和订单项。并在订购订单项后的下一步中删除重复的标题。所有这些都有效,除了下一步缺少其他行(通过使用索引标记行来验证)。

我也在努力删除数组字段。例如,有效负载-“状态”不起作用。

如果有人可以建议一种更简单的方法或帮助我理解为什么缺少替代行,那将是很好的。

萨利姆·汗|

试试这个

输入:

name,code,status
a,yes,active
b,yes,active
c,no,inactive
d,no,inactive
e,yes,inactive
f,yes,inactive
g,no,active
h,no,active
i,no,inactive
j,no,inactive
k,yes,active
l,yes,active

脚本

%dw 2.0
output application/csv
var headerGroups = (payload groupBy (item, index) -> (item.status ++ "_" ++ item.code)) mapObject 
($$): {
    "type":"header",
    "name":"",
    "code":$[0].code,
    "status":$[0].status
}

var nameHeaderGroups= (payload groupBy (item, index) -> (item.status ++ "_" ++ item.code)) mapObject 
($$): {
    "name":[$.name]
}

fun buildNameObject(nameArray) = nameArray map 
   {
    "temp": ($ map {
    "type":"lineItem",
    "name": $ ,
    "code":"",
    "status":""
    } 
   )}
    
---
flatten(nameHeaderGroups mapObject {
    a: {(headerGroups[$$])},
    b: {(buildNameObject($.name))}.temp
}pluck ($)
)

输出:

type,name,code,status
header,,yes,active
lineItem,a,,
lineItem,b,,
lineItem,k,,
lineItem,l,,
header,,no,inactive
lineItem,c,,
lineItem,d,,
lineItem,i,,
lineItem,j,,
header,,yes,inactive
lineItem,e,,
lineItem,f,,
header,,no,active
lineItem,g,,
lineItem,h,,

这应该可以帮助您实现目标。它确实根据状态和代码组合对行项目进行分组。如果订单很重要,您也可以添加。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JavaScript / jQuery属性中的数组构建普通对象

来自分类Dev

从PHP中的数组构建多维数组

来自分类Dev

从Clojure中的数组构建哈希图

来自分类Dev

如何从php中的数组构建XML?

来自分类Dev

在Java中需要一些有关数组构造函数以及比较数组结果的帮助

来自分类Dev

需要帮助在C中创建动态char数组

来自分类Dev

从Typescript / JavaScript中的平面数组构建树数组

来自分类Dev

在Ruby 2.0中使用特定键和值从数组构建JSON对象

来自分类Dev

从Java中的数组构建树形结构(用于目录)

来自分类Dev

从C ++中的平面JSON数组构建树

来自分类Dev

从PHP中的多维数组构建路径

来自分类Dev

从Java中的数组构建树形结构(用于目录)

来自分类Dev

需要帮助为 NGINX 中的位置使用不同的根

来自分类Dev

需要帮助以使用POWERSHELL获取数组中的XML值

来自分类Dev

R:使用动态大小的数组构建线性模型的循环结构

来自分类Dev

在JSON短语php数组中需要帮助

来自分类Dev

需要帮助添加/合并数组中的项目

来自分类Dev

如何从PHP中的关联数组构建多维数组树?

来自分类Dev

如何最小化对象并从 JavaScript 中的对象数组构建数组

来自分类Dev

需要帮助构建MySQL查询-动态数据

来自分类Dev

需要帮助将此代码编写为经典ASP中的并行数组

来自分类Dev

在Swift中以单行代码从字符串数组构建CSV

来自分类Dev

如何用C中的整数数组构建二进制搜索树?

来自分类Dev

如何从AngularJS中的对象数组构建带有rowspan的表

来自分类Dev

从静态数组构建数组

来自分类Dev

在Rails 4的动态表内容计划中需要帮助

来自分类Dev

在PHP动态嵌套导航中需要一些帮助

来自分类Dev

在Jscript中为Q.all()构建动态函数数组

来自分类Dev

在Jscript中为Q.all()构建动态函数数组

Related 相关文章

  1. 1

    使用JavaScript / jQuery属性中的数组构建普通对象

  2. 2

    从PHP中的数组构建多维数组

  3. 3

    从Clojure中的数组构建哈希图

  4. 4

    如何从php中的数组构建XML?

  5. 5

    在Java中需要一些有关数组构造函数以及比较数组结果的帮助

  6. 6

    需要帮助在C中创建动态char数组

  7. 7

    从Typescript / JavaScript中的平面数组构建树数组

  8. 8

    在Ruby 2.0中使用特定键和值从数组构建JSON对象

  9. 9

    从Java中的数组构建树形结构(用于目录)

  10. 10

    从C ++中的平面JSON数组构建树

  11. 11

    从PHP中的多维数组构建路径

  12. 12

    从Java中的数组构建树形结构(用于目录)

  13. 13

    需要帮助为 NGINX 中的位置使用不同的根

  14. 14

    需要帮助以使用POWERSHELL获取数组中的XML值

  15. 15

    R:使用动态大小的数组构建线性模型的循环结构

  16. 16

    在JSON短语php数组中需要帮助

  17. 17

    需要帮助添加/合并数组中的项目

  18. 18

    如何从PHP中的关联数组构建多维数组树?

  19. 19

    如何最小化对象并从 JavaScript 中的对象数组构建数组

  20. 20

    需要帮助构建MySQL查询-动态数据

  21. 21

    需要帮助将此代码编写为经典ASP中的并行数组

  22. 22

    在Swift中以单行代码从字符串数组构建CSV

  23. 23

    如何用C中的整数数组构建二进制搜索树?

  24. 24

    如何从AngularJS中的对象数组构建带有rowspan的表

  25. 25

    从静态数组构建数组

  26. 26

    在Rails 4的动态表内容计划中需要帮助

  27. 27

    在PHP动态嵌套导航中需要一些帮助

  28. 28

    在Jscript中为Q.all()构建动态函数数组

  29. 29

    在Jscript中为Q.all()构建动态函数数组

热门标签

归档