Mule dataweave的数组输出中出现空项

Mule dataweave的数组输出中出现空项,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我正在使用Anypoint Studio 7.3和Mule 4.2 我正在转换一个有效负载,但在新数组的末尾得到了一个随机空值,并且无法确定在处理该记录时它出现的原因 有人知道为什么会出现这个问题吗 数据编织代码 %dw 2.0 output application/json --- payload.records flatMap ((record, index) -> records.customers flatMap ((customer, index) -&g

我正在使用Anypoint Studio 7.3和Mule 4.2

我正在转换一个有效负载,但在新数组的末尾得到了一个随机空值,并且无法确定在处理该记录时它出现的原因

有人知道为什么会出现这个问题吗

数据编织代码

%dw 2.0
output application/json
---
payload.records flatMap
    ((record, index) ->
        records.customers flatMap ((customer, index) ->
            customers.transactions flatMap ((transaction, index) ->
                transaction.prices filter (!isEmpty($)) map ((price, index) ->
                {
                    recordId: record.recordId,
                    customerId: customer.customerId,
                    transactionId: transaction.sessionId,
                    name: customer.name,
                    value: price.value
                })
            )
        )
    )
输入JSON

{
    "records": [
        {
            "recordId": "f4f80bc7",
            "customers": [
                {
                    "customerId": "a1f773b8",
                    "name": "J Smith",
                    "transactions": [
                        {
                            "transactionId": "f610bac1"
                            "prices": [
                                {
                                    "value": 580
                                },
                                {
                                    "value": 8403,
                                },
                                {
                                    "value": 8983
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
输出带有随机空值的JSON

[
  {
    "recordId": "f4f80bc7",
    "customerId": "a1f773b8",
    "transationId": "f610bac1",
    "name": "J Smith",
    "value": 580
  },
  {
    "recordId": "f4f80bc7",
    "customerId": "a1f773b8",
    "transationId": "f610bac1",
    "name": "J Smith",
    "value": 8403
  },
  {
    "recordId": "f4f80bc7",
    "customerId": "a1f773b8",
    "transationId": "f610bac1",
    "name": "J Smith",
    "value": 8983
  },
  null
]

感谢您的帮助

您可以使用writer属性skipNullOn跳过数组中的空元素

输出应用程序/json skipNullOn=“数组”

这里只是一个注释:使用您的DW脚本和输入,我无法在Mule 4.2中使用null元素再现您的输出