我正在尝试格式化phoneNumber: "+1" ++ payload.phoneNumber
之类的电话号码,但遇到错误,无法将Array强制转换为String。为什么我的输出会认为我有一个数组而不只是一个字符串?
我收到的错误消息是...
“无法通过(++
,String
)来呼叫Array<String>
:
-预期类型:Array<S>
,但得到:String
。”
答案 0 :(得分:4)
这里的问题是根据元数据payload.phoneNumber
是一个数组。这可能是因为payload是一个Array,然后payload.phoneNumber将返回所有元素payload的所有电话号码,或者是因为phoneNumber是一个Array。因此,很可能您想做一个map
或只选择第一个元素。
答案 1 :(得分:0)
您可以使用dataweave joinBy(),其中payload.phonenumber是数组[1,2,3,4]
phoneNumber: ("+1" ++ joinBy(payload.phoneNumber,"") as String)