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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:42:57
字體:
供稿:網(wǎng)友

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

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

后臺代轉(zhuǎn)的對象是

Dictionary<string,string> DepartmentsExistTaskCounts

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

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

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

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

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

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

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

前端部分截取腳本  :

 <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)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對錯新站長站的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 塔河县| 连云港市| 城固县| 丘北县| 积石山| 芷江| 吉安市| 民丰县| 衡水市| 深州市| 木里| 广饶县| 谷城县| 岳阳县| 汝南县| 罗源县| 大同市| 东乌| 措勤县| 上林县| 长海县| 奉化市| 广德县| 甘孜| 淮安市| 绥阳县| 徐水县| 哈尔滨市| 云和县| 建湖县| 淳安县| 石嘴山市| 灵寿县| 平武县| 萨迦县| 岑巩县| 岱山县| 宣城市| 东平县| 普格县| 揭阳市|