特殊字元導致json字串轉換成json物件出錯

2021-09-08 11:25:55 字數 1410 閱讀 3429

在對資料庫取出來的資料(特別是描述資訊)裡面含有特殊字元的話,使用json.parse將json字串轉換成json物件的時候會出錯,主要是雙引號,回車換行等影響明顯,左尖括號和右尖括號也會導致顯示問題,所以要在輸出到頁面進行json物件轉換之前將一些特殊符合進行編碼或轉義,下面展示的是c#**編碼和轉義幾個常用特殊字元。經過筆者測試,將這些符號編碼和轉義之後,大部分json字串都可以轉換成json物件了。如果遇到個別問題,應朝著這個方向去查詢問題。

[csharp]view plain

copy

print

?thestring = thestring.replace(">", ">");  

thestring = thestring.replace("

thestring = thestring.replace(" ", " ");  

thestring = thestring.replace("\"", """);  

thestring = thestring.replace("\'", "'");  

thestring = thestring.replace("\\", "\\\\");//對斜線的轉義   

thestring = thestring.replace("\n", "\\n");  

thestring = thestring.replace("\r", "\\r");  

thestring = thestring.replace(">", ">");

thestring = thestring.replace("

thestring = thestring.replace(" ", " ");

thestring = thestring.replace("\"", """);

thestring = thestring.replace("\'", "'");

thestring = thestring.replace("\\", "\\\\");//對斜線的轉義

thestring = thestring.replace("\n", "\\n");

thestring = thestring.replace("\r", "\\r");

注意:\r是回到行首,\n是新啟一行,這兩個一般同時出現,應該同時處理。

補充:文字中間的換行,空格在資料庫裡面不以\r\n, ;等形式顯示出來(「本書」與「前80」之間換行,「由」與「曹雪芹」之間空格)

文字:

資料庫:

json特殊字串處理

json語法要求很嚴格,如果你在傳遞json字串的時候,包含了特殊字元,如 空格 回車 換行 製表。那麼在用jsonobject.fromobject 轉換時,就會報 json exception unterminated string at character這樣的錯誤。解決辦法就是,在你轉換js...

json與字串轉換

一 將json字串轉換成js物件 建立json字串 var str 將此字串轉換成物件 1.使用eval函式左轉換 var obj eval json 2.使用json物件提供的函式做轉換 json是瀏覽器提供的物件 var obj json.parse str 3.引入外部api來做轉換 該檔案由...

json字串格式轉換

1.物件相互轉換 物件轉字串 user user newuser jsonobject object jsonobject.fromobject user string jsonstr object.tostring 字串轉物件 jsonobject jsonobj jsonobject.fromo...