我正在使用返回XML字符串的javascript函數。然而,在IE中,我將這串XML返回並嵌入了轉義字符,例如雙引號是「 」 而不是 「 有沒有簡單的方法來刪除轉義的字符序列項?
謝謝, 德里克刪除轉義字符
刪除轉義字符
回答
一個類似的問題:Javascript - Replacing the escape character in a string literal介紹瞭如何更換一個轉義字符。也許你可以用空引號替換轉義字符?
使用JavaScript的replace()
方法。
var string1 = "This is a string with all the \\\" characters escaped";
document.write(string1); // outputs: This is a string with all the \" characters escaped
document.write("<br />");
string1 = string1.replace("\\", "");
document.write(string1); // outputs: This is a string with all the " characters escaped
之前試圖解決這一問題,您應該調查正在被替換的其它字符。例如,當您在其他瀏覽器中獲得單個\
時,您會在IE中獲得\\
嗎?
如果添加標準C逃逸,然後將JSON.parse
轉換序列等\"
成"
,\\
成\
,\n
成線料,等等
'foo\\bar\nbaz"' === JSON.parse('"foo\\\\bar\\nbaz\\""')
JSON.parse
被支撐本身上最新的瀏覽器,並在IE上專門回到IE 8。relevant MSDN page說
Supported in the following document modes: Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards. Also supported in Windows Store apps. See Version Information.
Not supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards.
你好,正在替換的其他字符是\ t的標籤,並且換行符爲\ n。而這隻發生在IE實際上不是Chrome或Firefox。我想嘗試使用JSON.parse。我是否需要包含特定的庫才能使用它? –
@geoderek,是否需要特定的庫取決於IE的版本。 [MSDN的JSON頁面](http://msdn.microsoft.com/en-us/library/cc836466%28v=vs.94%29.aspx)說'JSON.parse'是「在以下文檔模式下支持:Internet Explorer 8標準,Internet Explorer 9標準,Internet Explorer 10標準。「如果您在IE 6或IE 7上遇到同樣的問題,那麼https://github.com/douglascrockford/JSON-js或JSON.org的其他解析器之一應該可以工作。 –
好吧,我正在嘗試它。代碼行是JSON.parse(strInfo),它返回錯誤:無效字符。變量strInfo是包含轉義字符的XML字符串。我猜測我沒有正確使用JSON.parse。 –
- 1. 刪除轉義字符
- 2. 刪除轉義字符
- 3. 刪除轉義字符「\」從字符串
- 4. Mysql刪除存儲的轉義字符
- 5. 刪除轉義字符,獲得串
- 6. 刪除單引號字符轉義
- 7. 從字符串中刪除轉義字符
- 8. Java從字符串中刪除轉義字符
- 9. 刪除我的json字符串中添加的轉義字符
- 10. 使用jQuery/JavaScript刪除轉義字符字符串
- 11. 從java中的字符串中刪除轉義字符'\'
- 12. 轉發刪除字符?
- 13. 如何從Python2.x中的unicode字符串中刪除轉義字符(轉義Unicode字符)?
- 14. 將字典文本和轉義字符保存爲字典(忽略/刪除轉義字符)
- 15. 如何刪除awk中的轉義字符?
- 16. 從html中刪除/替換八進制轉義字符
- 17. 從javascript函數中刪除多個轉義字符
- 18. 拆分分隔字符串並刪除轉義序列
- 19. 我想從NSString中刪除轉義字符等
- 20. 如何從XmlReader中刪除「\ r \ t \ t」轉義字符
- 21. Win8 Metro Apps中刪除轉義字符的問題
- 22. 刪除轉義字符的設計模式iOS
- 23. Json.net轉義或刪除SerializeObject上的字符
- 24. 從LDAP路徑(C#)中刪除反斜槓轉義字符
- 25. 無法從打印中刪除轉義字符
- 26. 爲什麼DOM庫刪除轉義的特殊字符?
- 27. 刪除字符
- 28. 刪除字符
- 29. 刪除字符
- 30. 刪除[]字符
我喜歡這種方式,因爲它直接。但是,至少在IE 9中似乎不起作用。在IE中打開你的jsFiddle,看看你是否得到和我一樣的問題。 –
似乎只有一個document.write在ie中使用jsfiddle時...在這裏修復:http://jsfiddle.net/GSUES/ –
@JanSommer:謝謝,我用你的小提琴更新了我的答案。 – Travesty3