亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript json字符串到j(luò)son對(duì)象轉(zhuǎn)義問題

 更新時(shí)間:2019年01月22日 16:26:46   作者:chenqiangdage  
今天小編就為大家分享一篇關(guān)于javascript json字符串到j(luò)son對(duì)象轉(zhuǎn)義問題,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

在使用JavaScriptSerializer.Serialize 方法轉(zhuǎn)json對(duì)象時(shí),遇到一個(gè)問題,后臺(tái)方法生成的json字符串中有沒有轉(zhuǎn)義的特殊字符代碼;

而這些特殊的代碼在使用javascript的轉(zhuǎn)json對(duì)象方法時(shí)報(bào)錯(cuò),為了講這個(gè)轉(zhuǎn)義的東西轉(zhuǎn)義過來,折騰了半天。著實(shí)對(duì)javascript無語; 

后臺(tái)代轉(zhuǎn)的對(duì)象是

Dictionary<string,string> DepartmentsExistTaskCounts

前臺(tái)頁面使用的MVC里的razor 寫法,直接使用后臺(tái)方法把數(shù)據(jù)轉(zhuǎn)成JSON存在腳本變量里;

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

實(shí)際轉(zhuǎn)了之后,轉(zhuǎn)義的特殊字符已編碼形式出現(xiàn)了;

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

于是想替換掉這個(gè)&quot;,使用replace方法,結(jié)果以為replace會(huì)替換掉全部,一直找原因,最后一調(diào)試才發(fā)現(xiàn)這JavaScript的replace方法默認(rèn)只替換第一個(gè)!

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

只想對(duì)javascpript說句,坑死個(gè)人。

前端部分截取腳本  :

 <script type="text/javascript">
     //擴(kuò)展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轉(zhuǎn)換
     function ToJson(json) {
       try { return eval(json); }
       catch (e) {
         try { return eval('(' + json + ')'); }
         catch (e) { 
           //alert(json);
         }
       }
     }
 </script>

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論