代金券 ID coupon_id_$n 代金券或立减优惠 ID,$n 为下标,从 0 开始编号
单个代金券支付金额 coupon_fee_$n 单个代金券或立减优惠支付金额,$n 为下标,从 0 开始编号
<xml>
<appid>wx2421b1c4370ec43b</appid>
.........
<coupon_id_0>balabala</coupon_id_0>
<coupon_id_1>balabala</coupon_id_1>
<coupon_id_2>balabala</coupon_id_2>
........
<coupon_fee_0>balabala</coupon_fee_0>
<coupon_fee_1>balabala</coupon_fee_1>
<coupon_fee_2>balabala</coupon_fee_2>
</xml>
回调这么搞,后台没法定义模型呀! ╮(╯_╰)╭
1
torbrowserbridge 2018-06-04 18:04:19 +08:00 via Android
没法定义模型是什么鬼
|
2
6IbA2bj5ip3tK49j 2018-06-04 18:06:20 +08:00
估计腾讯自己用字符串拼起来的,压根没准备考虑反序列化的问题。
|
3
est 2018-06-04 18:15:48 +08:00
哈哈哈,谁叫你们用静态语言。。。
动态语言一把梭! |
4
sdrzlyz 2018-06-04 18:21:41 +08:00 via Android
意外不意外,惊喜不惊喜?
|
5
jjianwen68 2018-06-04 18:34:03 +08:00 via Android
水平参差不齐
|
6
moult 2018-06-04 18:34:55 +08:00 via iPhone
哈哈哈。。。php 用户表示很淡定。。。
一定要定义模型的话只能单独处理了。。不能直接反序列化。。 |
7
oovveeaarr 2018-06-04 19:19:58 +08:00
dirty workaround 定于 100 个)
|
8
prolic 2018-06-04 19:21:41 +08:00 via Android
应该能处理成 map 吧
|
9
param 2018-06-05 01:32:41 +08:00 via Android
后台用的 Java ?
|
11
ragnaroks 2019-08-09 11:10:18 +08:00
如果有人遇到这个问题的话:
```csharp String _originXml=WxpayResponse.Content; Regex regex_id=new Regex(@"^\<coupon_id_(?<id>\d+)\>\<\!\[CDATA\[(?<id>\d+)\]\]\>\<\/coupon_id_\d+\>$",RegexOptions.Compiled|RegexOptions.Multiline); Regex regex_fee=new Regex(@"^\<coupon_fee_(?<fee>\d+)\>(?<fee>\d+)\<\/coupon_fee_\d+\>$",RegexOptions.Compiled|RegexOptions.Multiline); MatchCollection mc_id=regex_id.Matches(_originXml); MatchCollection mc_fee=regex_fee.Matches(_originXml); if(mc_id.Count<1 || mc_fee.Count!=mc_id.Count){return;} StringBuilder sb=new StringBuilder(); for(Int32 i = 0;i<mc_id.Count;i++) { Console.WriteLine($"coupon_id_{i}={mc_id[i].Groups[1].Value}"); Console.WriteLine($"coupon_fee_{i}={mc_fee[i].Groups[1].Value}"); } ``` |