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 相关文章推荐
Jquery实战_读书笔记2 选择器
Jan 22 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
很好用的js日历算法详细代码
Mar 07 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
Nov 25 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 Javascript
Angular ng-animate和ng-cookies用法详解
Apr 18 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
Sep 13 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
Sep 14 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 Javascript
json 带斜杠时如何解析的实现
Aug 12 Javascript
js 根据对象数组中的属性进行排序实现代码
Sep 12 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 操作调试的方法
2012/07/12 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python访问系统环境变量的方法
2015/04/29 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
如何基于python实现归一化处理
2020/01/20 Python
Python生成器常见问题及解决方案
2020/03/21 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
英语一分钟演讲稿
2014/04/29 职场文书
超市商业计划书
2014/05/04 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
2015年度物流工作总结
2015/04/30 职场文书
出生证明范本
2015/06/15 职场文书