【问题标题】:Merge multiple JSON arrays without changing the sequence in Dataweave 1.0合并多个 JSON 数组而不更改 Dataweave 1.0 中的序列
【发布时间】:2020-04-17 14:51:16
【问题描述】:

我有几个 JSON 数组,在将其作为输入有效负载发送到公共 API 之前,我需要将它们组合起来,我希望有效负载保持在序列中,就像我在 dataweave 中指定它们的方式一样,但我该怎么做数据编织 1.0?我的每个 JSON 数组都是大型数据集,并且每条记录都有许多属性,我注意到数据在连接后在所有数组中混杂在一起。我该如何解决这个问题?

%dw 1.0
%output application/json
---
payload[0] ++ payload[1] ++ payload[2] ++ payload[3] ++ payload[4]

【问题讨论】:

    标签: json mule transform dataweave mulesoft


    【解决方案1】:

    尚不清楚究竟什么不适合您或您的示例中的有效负载是什么,但只是连接数组有效。

    %dw 1.0
    %output application/json
    %var array1 = [1,2,3,4]
    %var array2 = [5,6,7,8]
    ---
    array1 ++ array2
    

    输出

    [
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8
    ]
    

    【讨论】:

    • 当它涉及到更大的数据集并且数组中的每个项目都有很多属性时,我注意到数据是混乱的:(
    • 数组有多大,每个元素有多少属性?
    • 每个数组大约有 2K 个项,每个项有大约 20 个属性,一次发送到 Public API 总共有 10K 个项。
    【解决方案2】:

    您能够始终如一地确保顺序的唯一方法是拥有一个用于对数据进行排序的子句。我不确定您是否根据您提供的信息,但看起来类似于:

    %dw 1.0
    %output application/json
    %var data = [[1,2,3],[4,5,6]]
    ---
    data reduce ((item, acc=[]) -> acc ++ (item orderBy $))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-05
      • 2021-11-20
      • 2013-09-12
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多