我需要评估以以下方式创建的JS表达式
function createExprs(obj){
var decl = "var i = ";
var value = JSON.stringify(obj);
var exprs = decl + "JSON.parse('" + value + "')";
return exprs;
}
var i = createExprs({1:2});//i = "var i = JSON.parse('{"1":4}')"
eval(i); // works fine
但是当obj包含任何特殊字符时失败
var i = createExprs("today\\.article") \\i="var i = JSON.parse('"today\\.article"')"
eval(i) // Unexpected token . in JSON
答案 0 :(得分:0)
您需要转义"
:
"var i = JSON.parse('\"today.article\"')"