2017-02-15 48 views
0

轉義我正嘗試在javascript中應用一個簡單的轉義過程< - > php通信。我不工作......我不知道爲什麼。用JSON.parse()

這裏是一些測試代碼我寫道:

<head> 
    <meta charset='utf-8'> 
    <title>Test</title> 
</head> 

<body> 
    <script> 
     JSON.parse('[{"id":"43","english":"ar\"m","korean":"\ud314","date":"49 minute(s) ago."}]'); 
    </script> 
</body> 

</html> 

轉義字符是單詞手臂內使用雙引號。打開頁面時返回 錯誤:

VM84:1 Uncaught SyntaxError: Unexpected token m in JSON at position 26 
    at JSON.parse (<anonymous>) 
    at test.html:11 
(anonymous) @ test.html:11 
+0

目前尚不清楚這個實驗的重點。如果你在使用服務器發送的JSON時遇到問題,那麼問題就在那裏。 – Pointy

回答

3

當你有一個JSON字符串作爲一個JavaScript字符串,你必須反斜槓,因爲反斜槓是在兩個JavaScript和JSON元字符語法。

JSON.parse('[{"id":"43","english":"ar\\\"m","korean":"\\ud314","date":"49 minute(s) ago."}]'); 

對於\"有必要使用 \字符,這樣當JSON解析器看到它,你必須\"

請注意,這是不必要要在您的服務器發送給客戶端的實際JSON這些額外\(或客戶端發送到服務器)。