将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 相关文章推荐
一些易混淆且不常用的属性,希望有用
Jan 29 Javascript
JS原型对象通俗"唱法"
Dec 27 Javascript
javascript使用正则表达式检测IP地址
Dec 03 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
微信扫码支付零云插件版实例详解
Apr 26 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
微信小程序实现长按删除图片的示例
May 18 Javascript
javascript-hashchange事件和历史状态管理实例分析
Apr 18 Javascript
jquery插件懒加载的示例
Oct 24 jQuery
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获得当前的脚本网址
2007/12/10 PHP
PHP删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
JavaScript高级程序设计
2006/12/29 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
Python根据成绩分析系统浅析
2019/02/11 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
仲裁协议书
2014/09/26 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
党员个人党性分析材料
2014/12/18 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
材料采购员岗位职责
2015/04/03 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
公积金贷款承诺书
2015/04/30 职场文书
任长霞观后感
2015/06/16 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
python执行js代码的方法
2021/05/13 Python
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库