OSB中XQUERY转换:如何将BankCode转为数组适配后端请求?
解决BankCode字段数组格式问题
后端要求BankCode字段为数组类型(如["1920928"]),但原有XQuery生成的结构转成JSON后会是单个字符串,导致后端返回400验证错误(提示无法转换为System.Collections.Generic.List1[System.String]`)。
修改后的XQuery代码如下,直接构造JSON数组格式的BankCode字段:
{ "BankCode": [ for $BankCode1 in $partnerOnBoardingRequest/ns1:BankCode return concat(fn:data($BankCode1), 'ADDED_STRING_PADDING') ] }
说明
原有代码生成的是独立的<BankCode>元素,转JSON时若仅存在一个元素会被解析为字符串,多个才会转为数组。上述修改通过显式构造JSON数组,无论ns1:BankCode节点数量多少,最终生成的BankCode都会是数组类型,完全匹配后端的参数要求。
内容的提问来源于stack exchange,提问作者Debarati Das
相关产品推荐
相关产品推荐

