javascript json字符串到json对象转义问题


Posted in Javascript onJanuary 22, 2019

在使用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>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
IE与firefox之jquery用法区别
Oct 03 Javascript
js substr、substring和slice使用说明小记
Sep 15 Javascript
javascript一元操作符(递增、递减)使用示例
Aug 07 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
Oct 29 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
基于jquery实现ajax无刷新评论
Aug 19 Javascript
vue自定义指令用法经典实例小结
Mar 16 Javascript
js获取 gif 的帧数的代码实例
Sep 10 Javascript
vue实现给div绑定keyup的enter事件
Jul 31 Javascript
JavaScript arguments.callee作用及替换方案详解
Sep 02 Javascript
使用JavaScript保存文本文件到本地的两种方法
Jan 22 #Javascript
微信小程序实现九宫格抽奖
Apr 15 #Javascript
200行HTML+JavaScript实现年会抽奖程序
Jan 22 #Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
Jan 22 #Javascript
微信小程序使用map组件实现解析经纬度功能示例
Jan 22 #Javascript
微信小程序全局变量功能与用法详解
Jan 22 #Javascript
微信小程序使用map组件实现路线规划功能示例
Jan 22 #Javascript
You might like
PHPShop存在多个安全漏洞
2006/10/09 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
纯JS实现轮播图
2017/02/22 Javascript
AngularJS Toaster使用详解
2017/02/24 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Flask-WTF表单的使用方法
2019/07/12 Python
python爬虫之遍历单个域名
2019/11/20 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
经典c++面试题四
2015/05/14 面试题
医科学校毕业生自荐信
2013/11/09 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
幼儿老师求职信
2014/06/30 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
家庭经济困难证明
2015/06/23 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书