在對數(shù)據(jù)庫取出來的數(shù)據(jù)(特別是描述信息)里面含有特殊字符的話,使用JSON.parse將json字符串轉(zhuǎn)換成json對象的時候會出錯,主要是雙引號,回車換行等影響明顯,左尖括號和右尖括號也會導致顯示問題,所以要在輸出到頁面進行json對象轉(zhuǎn)換之前將一些特殊符合進行編碼或轉(zhuǎn)義,下面展示的是C#代碼編碼和轉(zhuǎn)義幾個常用特殊字符。經(jīng)過筆者測試,將這些符號編碼和轉(zhuǎn)義之后,大部分json字符串都可以轉(zhuǎn)換成json對象了。如果遇到個別問題,應朝著這個方向去查找問題。
theString = theString.Replace(">", ">"); theString = theString.Replace("<", "<"); theString = theString.Replace(" ", " "); theString = theString.Replace("/"", """); theString = theString.Replace("/'", "'"); theString = theString.Replace("http://", "http:////");//對斜線的轉(zhuǎn)義 theString = theString.Replace("/n", "http://n"); theString = theString.Replace("/r", //r);
注意:/r是回到行首,/n是新啟一行,這兩個一般同時出現(xiàn),應該同時處理。
補充:文字中間的換行,空格在數(shù)據(jù)庫里面不以/r/n, ;等形式顯示出來(“本書”與“前80”之間換行,“由”與“曹雪芹”之間空格)
文字:
數(shù)據(jù)庫:
新聞熱點
疑難解答