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 实现TreeView CheckBox全选效果
Jan 11 Javascript
计算新浪Weibo消息长度(还可以输入119字)
Jul 02 Javascript
JS实现控制表格内指定单元格内容对齐的方法
Mar 30 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
Apr 03 Javascript
理解JavaScript原型链
Oct 25 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
Mar 08 Javascript
vue事件修饰符和按键修饰符用法总结
Jul 25 Javascript
vue.js动画中的js钩子函数的实现
Jul 06 Javascript
vue2.0的虚拟DOM渲染思路分析
Aug 09 Javascript
LayUI表格批量删除方法
Aug 15 Javascript
vue权限问题的完美解决方案
May 08 Javascript
解决Element中el-date-picker组件不回填的情况
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脚本代码
2011/02/19 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
python django model联合主键的例子
2019/08/06 Python
Python简易版停车管理系统
2019/08/12 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
python 追踪except信息方式
2020/04/25 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
公安机关查摆剖析材料
2014/10/10 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS