Объединение нескольких JSON массивов без изменения последовательности в Dataweave 1.0 - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть пара JSON массивов, которые мне нужно объединить, прежде чем я отправлю их в Publi c API в качестве входной полезной нагрузки, и я хотел бы, чтобы полезные нагрузки оставались в последовательности, как то, как я их указываю в ткани данных, но как я могу сделать это в Dataweave 1.0? Каждый из моих массивов JSON представляет собой большой набор данных и имеет много атрибутов для каждой записи. Я заметил, что после объединения эти данные перемешиваются во всех массивах. Как я могу это исправить?

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

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Единственный способ обеспечить последовательное обеспечение порядка - это иметь пункт, в котором вы упорядочиваете данные. Который я не уверен, что вы основали на информации, которую вы предоставили, но выглядел бы примерно так:

%dw 1.0
%output application/json
%var data = [[1,2,3],[4,5,6]]
---
data reduce ((item, acc=[]) -> acc ++ (item orderBy $))
0 голосов
/ 17 апреля 2020

Непонятно, что именно не работает для вас или каковы полезные нагрузки в вашем примере, но просто конкатенация массива работает.

%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
]
...