将服务端的一个对象输出给客户端js,客户端接收到的字符串里双引号被转义成“ "”了
发布于 2小时前 作者 huangshaohui 29 次浏览 来自 问答

将服务端的一个对象输出给客户端js,客户端接收到的字符串里双引号被转义成“ "”了,导致将json字符串转换成json对象的时候报错。

// 后台:
res.render("index", {
    title: "首页",
    user: {
        name: "tom",
        age: 10
    }
});
// jade模板:
script(type="text/javascript").
    var UserJson = "#{JSON.stringify(user)}";
// 客户端:
var UserJson = "{"name":"tom","age":10}"; 
var User = eval("(" + UserJson + ")");  //这里明显会报错

现在的办法是在客户端用正则表达式将“ "”替换成",然后再eval。 这里还有别的更好的办法么?谢谢!

回到顶部