即使轉義出現雙引號也會引發解析錯誤。
看看下面的代碼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