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 学习初步 入门教程
Mar 25 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
Mar 01 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
javascript数组快速打乱重排的方法
Jan 02 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
javascript定时器完整实例
Feb 10 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
Nov 09 Javascript
详解AngularJS 路由 resolve用法
Apr 24 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
js实现录音上传功能
Nov 22 Javascript
JavaScript this关键字指向常用情况解析
Sep 02 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
python3 简单实现组合设计模式
2020/07/02 Python
python判断变量是否为列表的方法
2020/09/17 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
是否有自动比较结构的方法
2015/06/03 面试题
婚礼必备主持词范本!
2019/07/23 职场文书
java泛型通配符详解
2021/07/25 Java/Android