Newtonsoft.Json.JsonReaderException: Unterminated string. Expected delimiter:
本機程式呼叫 ashx 服務時,傳送的Json 字串造成此錯誤。
最近網頁跳出這個錯誤,雖然不常發生,可是就是偶爾會跳出。
本來除錯方向,一直往要把編碼過的Url 根據特定字元再去做一次取代,才不會造成Json格式錯誤
後來我檢查了一下本機的程式,才發現,同事使用了錯誤的編碼,所以造成這個問題。
同事 使用了這個 Uri.EscapeDataString
只要改成 System.Web.HttpUtility.UrlEncode 就正常了。
結論
當使用 Uri.EscapeDataString 時,應該是要編碼A部分
當使用 System.Web.HttpUtility.UrlEncode 時 ,應該是要編碼B部分
http://www.xxx.com/a.html?a=value1&b=value2
A部分 http://www.xxx.com/a.html
B部分 value1,value2
沒有留言:
張貼留言