JSON数据格式乱码原因之遇见了回车键

JSON数据输出格式经常出现乱码,其中的原因之一是向JSON提交了回车符

有一次在项目里,当向后台接口以ajax方法发送json数据时出现了乱码(通过chrome控制面板Network里的XHR筛选,可以看到具体的数据提交和接收信息),最终导致ajax数据提交失败。事实上,不仅仅发送出问题,就连接收到的json数据也会出问题。

查看API接口文档,发现参数没有问题,那么是什么导致乱码而使数据发送给后台提交失败呢?一翻调试,发现提交短消息内容时里面的回车键导致。既然是回车键的原因,那么我们可以通过特殊符合来代替回车键符:

发送到后台

  1. //将变量字符串里的回车和换行符替换成"|" ,经测试json支持这个特殊字符 
  2. myPostStr.replace(/[\r\n]/g,"|");//myPostStr为json属性里的变量值  

读取到前台

  1. //将获取到的json数据里的特殊字符“|”替换成回车或换行符 ( /g 为正则全局标志,此处对 | 转义 \|  
  2. GetJson.replace(/\|/g,"\n"); 
  3. //请注意,GetJson.replace("|","\n"); //仅仅匹配第一次找到的| 

说明:replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

 

 

相关经验

导读书签
书签初始化中…