将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 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
jQuery基本过滤选择器使用介绍
Apr 18 Javascript
js获得页面的高度和宽度的方法
Feb 23 Javascript
JavaScript数据类型判定的总结笔记
Jul 31 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
Aug 21 Javascript
vuex页面刷新后数据丢失的方法
Jan 17 Javascript
微信小程序 根据不同用户切换不同TabBar
Apr 21 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
我的论坛源代码(二)
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
对Python中的@classmethod用法详解
2018/04/21 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
大学生求职自荐信
2013/12/12 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
装修致歉信
2014/01/15 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL