Трудно сказать, исходя из вашего образца json, поскольку он не отформатирован как json.
ПРИМЕЧАНИЕ Ожидаемый ввод / вывод изменился по сравнению с моим исходным ответом, поэтому это обновление
Однако, это работает и может быть настроено в зависимости от вашего фактического ввода.
Во-первых, используйте foreach для итерации части сбора вашей полезной нагрузки (в зависимости от вашего примера это #[flatten(payload.parent.child.a)]
(но это может измениться какне ясно, если массив 'child' также будет содержать более одного элемента.)
Вы также не упоминаете, как хотите разделить его. На основе вашего примера, это для каждых 2 записей. Поэтому используйтеатрибут batchSize
и установите значение 2 (измените его на фактическое требование).
Затем вам нужно добавить обертывающие элементы json обратно, поскольку вы потеряете их в foreach:
<foreach doc:name="For Each" collection="#[flatten(payload.parent.child.a)]" batchSize="2">
<ee:transform doc:name="Transform Message" doc:id="7b1cccb7-fcbb-41b3-a08f-bac5600df2f2" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
parent :
{
child:[
a: payload
]
}
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger level="ERROR" message="Split items here: #[payload]" />
</foreach>
Вывод соответствует вашему новому ожидаемому выводу:
Split items here: {
"parent": {
"child": [
{
"a": [
{
},
{
}
]
}
]
}
}
Split items here: {
"parent": {
"child": [
{
"a": [
{
},
{
}
]
}
]
}}