Mule 无法使用(`String`、`Array`)调用`++`

Mule 无法使用(`String`、`Array`)调用`++`,mule,dataweave,Mule,Dataweave,我正在尝试设置电话号码的格式,如phoneNumber:+1++payload.phoneNumber,但我遇到一个错误,无法将数组强制为字符串。为什么我的输出认为我有一个数组而不仅仅是一个字符串 我收到的错误消息是。。。 无法使用字符串、数组调用++: -应为Type:Array,但得到了:String。这里的问题是,根据元数据负载,phoneNumber是一个数组。这可能是因为payload是一个数组,payload.phoneNumber将返回所有元素payload的所有电话号码,也可能是

我正在尝试设置电话号码的格式,如phoneNumber:+1++payload.phoneNumber,但我遇到一个错误,无法将数组强制为字符串。为什么我的输出认为我有一个数组而不仅仅是一个字符串

我收到的错误消息是。。。 无法使用字符串、数组调用++:
-应为Type:Array,但得到了:String。

这里的问题是,根据元数据负载,phoneNumber是一个数组。这可能是因为payload是一个数组,payload.phoneNumber将返回所有元素payload的所有电话号码,也可能是因为phoneNumber是一个数组。因此,最有可能的情况是,您希望进行映射或只选择第一个元素。

这里的问题是,根据元数据负载,phoneNumber是一个数组。这可能是因为payload是一个数组,payload.phoneNumber将返回所有元素payload的所有电话号码,也可能是因为phoneNumber是一个数组。因此,您很可能希望进行映射或只选择第一个元素。

您可以使用dataweave joinBy,其中payload.phonenumber是一个数组[1,2,3,4]

phoneNumber: ("+1" ++ joinBy(payload.phoneNumber,"") as String)

您可以使用dataweave joinBy,其中payload.phonenumber是一个数组[1,2,3,4]

phoneNumber: ("+1" ++ joinBy(payload.phoneNumber,"") as String)

您可以添加示例输入吗?这将有助于理解为什么payload.phoneNumber被视为一个数组。您可以添加示例输入吗?这将有助于理解payload.phoneNumber被视为数组的原因