国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

javascript json字符串到json對象轉義問題

2024-05-06 16:47:51
字體:
來源:轉載
供稿:網友

在使用JavaScriptSerializer.Serialize 方法轉json對象時,遇到一個問題,后臺方法生成的json字符串中有沒有轉義的特殊字符代碼;

而這些特殊的代碼在使用javascript的轉json對象方法時報錯,為了講這個轉義的東西轉義過來,折騰了半天。著實對javascript無語; 

后臺代轉的對象是

Dictionary<string,string> DepartmentsExistTaskCounts

前臺頁面使用的MVC里的razor 寫法,直接使用后臺方法把數據轉成JSON存在腳本變量里;

var jsonstr  = "@(JSONHelper.ObjectToJSON(DepartmentsExistTaskCounts))";

實際轉了之后,轉義的特殊字符已編碼形式出現了;

var jsonstr  = "{"1":"0","2":"0","3":"0"}";

于是想替換掉這個",使用replace方法,結果坑爹以為replace會替換掉全部,一直找原因,最后一調試才發現這JavaScript的replace方法默認只替換第一個!

真的是醉了。于是重新給String方法加上replaceAll方法。才弄好;

只想對javascpript說句,坑死個人。

前端部分截取腳本  :

 <script type="text/javascript">     //擴展javascript 的replace方法     String.prototype.replaceAll = function(s1,s2){       return this.replace(new RegExp(s1,"gm"),s2);     }     var counts = parseInt("@(DepartmentCounts)");          var gDepartmentsAddCount = {};        var jsonstr = "@(JSONHelper.ObjectToJSON(DepartmentsExistTaskCounts))";     jsonstr = jsonstr.replaceAll(""","'");     gDepartmentsAddCount = ToJson( jsonstr );        //JSon轉換     function ToJson(json) {       try { return eval(json); }       catch (e) {         try { return eval('(' + json + ')'); }         catch (e) {            //alert(json);         }       }     } </script>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大新县| 定结县| 中超| 牙克石市| 建昌县| 盖州市| 肥城市| 卢湾区| 德惠市| 隆化县| 文水县| 利川市| 安阳市| 平度市| 富阳市| 平南县| 阿合奇县| 泉州市| 宁化县| 策勒县| 博罗县| 无极县| 简阳市| 西城区| 上虞市| 唐山市| 安仁县| 塔河县| 永福县| 沁源县| 宜宾市| 棋牌| 嘉荫县| 龙南县| 遂昌县| 宜春市| 永年县| 邵武市| 留坝县| 阿拉善左旗| 密山市|