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 相关文章推荐
可输入的下拉框
Jun 19 Javascript
javascript new 需不需要继续使用
Jul 02 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
Jun 19 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
Mar 03 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
在Vue中如何使用Cookie操作实例
Jul 27 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
Mar 22 Javascript
vue实现路由懒加载及组件懒加载的方式
Jun 11 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
Nov 07 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 身份验证方面的函数
2009/10/11 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
Python threading的使用方法解析
2019/08/28 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
会议邀请函范文
2014/01/09 职场文书
财产公证书样本
2014/04/04 职场文书
火锅店的活动方案
2014/08/15 职场文书