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 相关文章推荐
用jquery来定位
Feb 20 Javascript
JavaScript几种形式的树结构菜单
May 10 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
web 屏蔽BackSpace键实例代码
Dec 24 Javascript
js上传图片预览的实现方法
May 09 Javascript
浅谈JS如何实现真正的对象常量
Jun 25 Javascript
JavaScript中import用法总结
Jan 20 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 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
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
vue脚手架及vue-router基本使用
2018/04/09 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Python input函数使用实例解析
2019/11/22 Python
详解python变量与数据类型
2020/08/25 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
Java面试笔试题大全
2016/11/23 面试题
创业计划书如何吸引他人眼球
2014/01/10 职场文书
怎么写好自荐书
2014/03/02 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
导游词之山东八大关
2019/12/18 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android