如何正确评估包含带特殊字符的JSON.parse表达式的Javascript字符串?

问题描述 投票:0回答:1

我需要评估以下面的方式创建的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 
javascript json eval
1个回答
0
投票

你需要逃离"

"var i = JSON.parse('\"today.article\"')"
© www.soinside.com 2019 - 2024. All rights reserved.