将string解析为json的几种方式小结


Posted in Javascript onNovember 11, 2010

1.比较古老的方法:

function strToJson(str){ 
var json = eval('(' + str + ')'); 
return json; 
}

2.比较常用的方法:
function strToJson(str){ 
return (new Function("return " + str))(); 
}

3.IE67不支持的json对象方法:
function strToJson(str){ 
return JSON.parse(str); 
}

4.jQuery提供的方法:
parseJSON: function( data ) { 
if ( typeof data !== "string" || !data ) { 
return null; 
} 
data = jQuery.trim( data ); 
if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@") 
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]") 
.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) { 
return window.JSON && window.JSON.parse ? 
window.JSON.parse( data ) : 
(new Function("return " + data))(); } else { 
jQuery.error( "Invalid JSON: " + data ); 
} 
},
Javascript 相关文章推荐
iframe 自适应高度[在IE6 IE7 FF下测试通过]
Apr 13 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 Javascript
使用js实现雪花飘落效果
Aug 26 Javascript
javascript遍历控件实例详细解析
Jan 10 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 Javascript
浅谈setTimeout 与 setInterval
Jun 23 Javascript
封装好的javascript前端分页插件pagination
Jan 04 Javascript
BootStrap的JS插件之轮播效果案例详解
May 16 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
vue组件库的在线主题编辑器的实现思路
Apr 03 Javascript
js读取本地excel文档数据的代码
Nov 11 #Javascript
JS维吉尼亚密码算法实现代码
Nov 09 #Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 #Javascript
浅谈Javascript嵌套函数及闭包
Nov 09 #Javascript
JavaScript高级程序设计 扩展--关于动态原型
Nov 09 #Javascript
关于JavaScript定义类和对象的几种方式
Nov 09 #Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 #Javascript
You might like
PHP取进制余数函数代码
2012/01/19 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
再谈JavaScript线程
2015/07/10 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
详解python单例模式与metaclass
2016/01/15 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
Python定时任务工具之APScheduler使用方式
2019/07/24 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python自动创建Excel并获取内容
2020/09/16 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
CSS3 边框效果
2019/11/04 HTML / CSS
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
幼儿园教师获奖感言
2014/03/11 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
收入证明范本
2015/06/12 职场文书
法制工作总结2015
2015/07/23 职场文书
小学安全教育主题班会
2015/08/12 职场文书
Springboot中如何自动转JSON输出
2022/06/16 Java/Android