帶雙反斜杠的Json數據至單反斜杠的Json數據處理


假如你光看標題,你只能哦呵呵了!我也看不懂。還是先描述下問題吧。這里是使用微信接口返回了一些數據。因為該串數據包含html標簽所以TX是對該串數據進行了編碼的。所有的數據是通過Unicode編碼的,然后在kindeditor編輯器中中文就變成了\u000a\u0009\u000a\u0009等一些鳥文。

在C#當中自然就變成了\\u000a\\u0009\\u000a\\u0009,通過ASP.NET MVC 的返回JSON的方法: return Json(new { rows = 對象數組 });將帶該數據的對象轉化為Json后就成了\\\\u000a\\\\u0009\\\\u000a\\\\u0009。

第一次,我想要通過前端JS調用replace函數來處理。str.replace(/\\\\/g,'\\');總之各種各樣的都試過了,都用不了。
第二次,通過后台處理一開始直接處理對象屬性,也是行不通。原因是\\u000a本身就是一個反斜杠,替換之后還會是\\u000a。

最后把先把obj序列化為字符串,然后通過result = result.Replace(@"\\", @"\"); 將雙反斜杠處理為單數據從\\\\u000a\\\\u0009變成了\\u000a\\u0009。最后再調用return Json(new { rows = 字符串 });
兩者不是跟之前的一樣?NO,有一點還是不一樣的,就是rows的值從對象變成了字符串。這說明C#在將對象轉化為Json的時候會把單反斜杠\\當成雙反血杠\\\\處理,而字符串則不會。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM