Двойная кавычка, даже если сбежавшая, бросает ошибку разбора.
посмотрите на код ниже
//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
не сможет проанализировать. Как я могу справиться с этой ситуацией?