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中的一些注意事项 更新中
Dec 06 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
Apr 23 Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 Javascript
AngularJS 单元测试(二)详解
Sep 21 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
使用JS获取SessionStorage的值
Jan 12 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
May 23 Javascript
Vue之mixin全局的用法详解
Aug 22 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
Jan 20 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 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_combine() - 数组合并函数使用说明
2011/10/29 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
web.py获取上传文件名的正确方法
2014/08/26 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
深入理解Python异常处理的哲学
2019/02/01 Python
Flask-WTF表单的使用方法
2019/07/12 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
退伍老兵事迹材料
2014/01/31 职场文书
廉洁自律承诺书
2014/03/27 职场文书
《老山界》教学反思
2014/04/08 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书