今天在项目中发现,当插入或读取JSON数据时遇见回车符,返回JSON数据格式时会报错(firebug里体现为乱码),百度了一下发现JSON不支持字符串里存在回车!
解决办法:
在向接口插入带json格式的数据之前,将回车等特殊符合替换成json接受的符号;
在向接口请求读取json格式的数据时,将回车等特殊符合替换成json接受的符号;
发送到后台
myPostStr.replace(/[\r\n]/g,"|"); //将myStr字符串里的回车和换行符替换成"|" ( 经测试json支持这个特殊字符 )
读取到前台
GetJson.replace(/\|/g,"\n"); //将json里的特殊字符“|”替换成回车或换行符 ( /g 为正则全局标志,此处对 | 转义 \| )
注意:GetJson.replace("|","\n"); //仅仅匹配第一次找到的|
|