微信公众号被动回复消息\n \t不起作用问题

本文讲述了开发者在处理微信公众号菜单点击事件时,遇到文本消息中的XML格式被自定义JSON转换工具类转义,导致换行问题。通过深入排查,发现是由于接口返回值序列化导致的,最终解决了这个问题。
摘要由CSDN通过智能技术生成

小白因为开发公司公众号菜单及菜单的点击响应回复指定的文本消息,该文本消息为了显示整洁,每一行是一个请戳  <a>业务h5页面连接</a> 

测试过程中,发现配置了 <a href = ""> 如果是双引号,a标签对应的连接也不显示了,且换行符\n到界面上就是 \n,而不是换行的效果,搜索很多文章,搞了一天都未解决问题,问了2个已离职的同事,一个说时间太久了你问我,另一个说当时也调试了好久最后让我问微信客服,我找啊找都是开发者社区,客服解决的都是公众号运营的问题,而非针对开发者,我百思不得其解,最终还是找到另一个组的研发,才解决问题。binggo!拔掉了这个肉中刺!

问题的根源:回复公众号粉丝的文本消息时返回的整个是个xml的字符串,而项目中有个自定义的json转换工具类,会对所有http请求返回值再进行一次序列化转换,导致返回的string类型又加了一层 "",公众号将xml字符串就原样输出了,\n就是\n不代表换行。

其实公众号开发者配置被动消息回复的url时,会对接口进行测试,也就是输入一个echostr,如果接口原样返回,测试通过,之前配置一直失败也是这个原因,输入的echostr=abc,输出变成了"abc",当时也没想到是为什么,只是为了通过测试就直接通过response.write这种简单粗暴的方式解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值