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 相关文章推荐
javascript引导程序
Oct 26 Javascript
将查询条件的input、select清空
Jan 14 Javascript
express的中间件bodyParser详解
Dec 04 Javascript
Jquery动态替换div内容及动态展示的方法
Jan 23 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
浅析Javascript中bind()方法的使用与实现
May 30 Javascript
ionic实现下拉刷新载入数据功能
May 11 Javascript
微信小程序开发animation心跳动画效果
Aug 16 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
Sep 19 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
Dec 03 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
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
js DOM的学习笔记
2011/12/22 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
python线程池threadpool使用篇
2018/04/27 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python实现淘宝秒杀脚本
2020/06/23 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
应届毕业生简历自我评价
2014/01/31 职场文书
学校文明单位申报材料
2014/05/06 职场文书
低碳环保口号
2014/06/12 职场文书
国庆节活动总结
2014/08/26 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书