即使转义,双引号也会引发解析错误。
看看下面的代码
//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 中使用双斜杠?问题是 PHPjson_encode()
函数用一个斜杠(像这样:)转义了一个双引号,\"show\"
这JSON.parse
将无法解析。我该如何处理这种情况?