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 相关文章推荐
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
浏览器打开层自动缓慢展开收缩实例代码
Jul 04 Javascript
jquery 模板的应用示例
Nov 12 Javascript
JS 去除Array中的null值示例代码
Nov 20 Javascript
jQuery异步加载数据并添加事件示例
Aug 24 Javascript
深入分析jquery解析json数据
Dec 09 Javascript
javascript中Array数组的迭代方法实例分析
Feb 04 Javascript
WebSocket实现简单客服聊天系统
May 12 Javascript
详解Angular调试技巧之报错404(not found)
Jan 31 Javascript
解决Vue打包后访问图片/图标不显示的问题
Jul 25 Javascript
详解ES6中class的实现原理
Oct 03 Javascript
vue3.0中使用element的完整步骤
Mar 04 Vue.js
使用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数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
javascript中对对层的控制
2006/12/29 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python数据类型详解(四)字典:dict
2016/05/12 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
python颜色随机生成器的实例代码
2020/01/10 Python
python批量修改文件名的示例
2020/09/27 Python
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
C语言面试题
2013/05/19 面试题
资源环境与城市管理专业推荐信
2013/11/30 职场文书
学生党员思想汇报
2013/12/28 职场文书
数学系毕业生的自我评价
2014/01/10 职场文书
八一建军节活动方案
2014/02/10 职场文书
村居抓节水倡议书
2014/05/19 职场文书
新书发布会策划方案
2014/06/09 职场文书
联欢会开场白
2015/06/01 职场文书
销售会议开幕词
2016/03/04 职场文书
导游词之西递宏村
2019/12/10 职场文书
python实现网络五子棋
2021/04/11 Python
Python提取PDF指定内容并生成新文件
2021/06/09 Python
redis中lua脚本使用教程
2021/11/01 Redis
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js