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 相关文章推荐
js动态添加表格数据使用insertRow和insertCell实现
May 22 Javascript
javascript基于HTML5 canvas制作画箭头组件
Jun 25 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 Javascript
基于jquery实现在线选座订座之影院篇
Aug 24 Javascript
javascript模拟C#格式化字符串
Aug 26 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
AngularJS HTML DOM详解及示例代码
Aug 17 Javascript
利用Node.js编写跨平台的spawn语句详解
Feb 12 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
Bootstrap如何激活导航状态
Mar 22 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
Jan 18 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 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
晶体管单管来复再生式收音机
2021/03/02 无线电
在普通HTTP上安全地传输密码
2007/07/21 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python中pyqtgraph知识点总结
2021/01/26 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
教师评语大全
2014/04/28 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
python之基数排序的实现
2021/07/26 Python
小程序实现侧滑删除功能
2022/06/25 Javascript
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers