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 相关文章推荐
ext监听事件方法[初级篇]
Apr 27 Javascript
jQuery弹性滑动导航菜单实现思路及代码
May 02 Javascript
JavaScript中使用Substring删除字符串最后一个字符
Nov 03 Javascript
jquery实现html页面 div 假分页有原理有代码
Sep 06 Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 Javascript
vue router demo详解
Oct 13 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 Javascript
3种vue路由传参的基本模式
Feb 22 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
May 04 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
Mar 12 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
Oct 14 Javascript
node实现mock-plugin中间件的方法
Dec 25 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+mysql大量用户登录解决方案分析
2014/12/29 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
javascript与CSS复习(三)
2010/06/29 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
解析Python编程中的包结构
2015/10/25 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Python实现感知机(PLA)算法
2017/12/20 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
索桥的故事教学反思
2014/02/06 职场文书
网络宣传方案
2014/03/15 职场文书
社团活动总结
2014/04/28 职场文书
售后客服工作职责
2014/06/16 职场文书
给下属加薪申请报告
2015/05/15 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang