微信发送模版消息报47001错误

公众号发送模板消息时出现以下错误信息:

{"errcode":47001,"errmsg":"data format error"} 

数据格式错误?

解决方法:

  • 一、不能包含json字符串

注意是不能包含双引号的json串, 单引号没问题,所以可以使用fastjson转换

JSON.toJSONString("包含双引号的json字符串", SerializerFeature.UseSingleQuotes);
  • 二、不能有换行符 \n

这个不是很理解,因为官方文档里面写了可以使用\n,如下图,
微信发送模版消息报47001错误_第1张图片

但我测试发现不行,所以不知道怎么回事,最后解决方式就是利用正则把\n去掉,

Pattern p = Pattern.compile("\s*|t|r|n");
Matcher m = p.matcher(msg);
msg = m.replaceAll("");

如有好的解决方法,请不吝赐教

你可能感兴趣的:(Weixin)