2010-11-17 98 views
1

我有一個服務將轉義結果轉換爲帶有轉義單引號的JSON字符串。例如:O\\\'Neill。現在,當顯示我需要嘲笑它說O'Neill。我試圖更換字符串,但不起作用,它會引發腳本錯誤 - 預期的「)」當我試圖將文本(HTML)分配給DIV時。用單引號替換轉義單引號

+1

發佈一些代碼將有所幫助 - 您可能只是在其中的某個地方進行了拼寫輸入... – 2010-11-17 20:02:32

+2

修復該服務或修復數據。要麼它返回「O \\ Neill」,你最好是有文本數據而不是那個,或者你有在JSON中被禁止的「O \'Neill」。不要試圖清理這個客戶端。 – Quentin 2010-11-17 20:09:47

+0

爲什麼單個報價完全逃脫了? – Gumbo 2010-11-17 20:11:35

回答

0

而不是逃避它的服務器端,爲什麼不用HTML實體'取代它?

+2

因爲,一般來說,如果不需要HTML表示的任何語義,最好使用純文本而不是HTML。從文本轉換爲任何你需要的東西比較容易,然後從HTML轉換爲你需要的東西。 – Quentin 2010-11-17 20:07:58

+0

雖然我同意總體方法。我傾向於認爲用Javascript,jQuery和JSON標記的問題最終會以HTML呈現。 – 2010-11-18 04:58:02

2

我只是在這裏練習我的心靈能力......但是你的代碼試圖用""代替"\"?如果是這樣,請記住,您需要轉義反斜槓(因爲它是Javascript中的轉義字符)。改爲嘗試替換"\\"

正如在評論中提到的那樣,最好的解決辦法是服務。在JSON中應該沒有必要使用\'(事實上,它在技術上甚至不是有效的JSON),因爲值應該用雙引號(使得不必轉義單引號)。

+0

你很可能已經確定了他的* Expected「)」*錯誤的來源。現在...我在想什麼? – Stephen 2010-11-17 20:21:47

+0

Dunno。我頭腦中的第一個想法是,PHP的魔術引號是邪惡的。不過,我可能仍然在Dave的問題中。 :) – cHao 2010-11-17 20:40:08