即使转义出现双引号也会引发解析错误。
看看下面的代码json用双引号解析错误
//parse the json in javascript
var testJson = '{"result": ["lunch", "\"Show\""] }';
var tags = JSON.parse(testJson);
alert (tags.result[1]);
这是因为抛双引号(已经转义)的语法错误。
即使eval()
也不会在这里工作。
但是,如果我用双斜线逃脱这样的:
var result = '{"result": ["lunch", "\\"Show\\""] }';
var tags = JSON.parse(result);
alert (tags.result[1]);
然后正常工作。
为什么我们需要在JavaScript中使用双斜线? 问题是,PHP json_encode()
函数使用单斜杠(如:\"show\"
)转义双引号,JSON.parse
将无法解析。我如何处理这种情况?
变种的eval( '(' +导致+ ')'); – Priya 2011-12-29 07:44:24