json 序列化异常问题

2018-01-13 11:15:03来源:oschina作者:Zorn人点击

分享

最近有个需求,要服务器把json数据序列化输到到页面js变量。


刚开始以为so easy,直接



发现神奇的报错,


Uncaught SyntaxError: Unexpected token with JSON.parse

后来检查的数据,发现有些字符串是有双引号的,类似下面这种


{
val1: '哈哈"呵呵'
val2: '哈哈哈/n哈哈'
val3: "哈哈'哈哈"
}

看到这种数据,真TM想锤死java那边的开发人员。


没办法了,于是跑去查阅了javascript官方文档,废话不多说,写一个完美的转义方法


// NodeJs服务端
function jsonToStr (data) {
return JSON.stringify(data, (k, v) => {
if (typeof v == 'string') {
return v.replace(//n/g, "")
.replace(//r/g, "////r")
.replace(//t/g, "////t")
.replace(/"/g, '//"')
} else {
return v;
}
})
}
// 渲染web,Jade
script
window.data = '!{jsonToStr(data)..replace(/'/g, "//'")}'

暂时是解决这个Bug了。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台