将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 相关文章推荐
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
在js文件中如何获取basePath处理js路径问题
Jul 10 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
JavaScript获取并更改input标签name属性的方法
Jul 02 Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
Nov 25 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
Jul 06 Javascript
Node.js+Express+Mysql 实现增删改查
Apr 03 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 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 cli 方式 在crotab中运行解决
2010/02/08 PHP
php单例模式示例分享
2015/02/12 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
PHP实现简易图形计算器
2020/08/28 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
Javascript Object.extend
2010/05/18 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
python 快速排序代码
2009/11/23 Python
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python实现ip代理池功能示例
2019/07/05 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
全球立体声:World Wide Stereo
2018/09/29 全球购物
通用求职信范文模板分享
2013/12/27 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
房地产端午节活动方案
2014/08/24 职场文书
家庭教育的心得体会
2014/09/01 职场文书
党员争先创优承诺书
2015/01/20 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
成人成长感言如何写?
2019/08/16 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
总结Pyinstaller打包的高级用法
2021/06/28 Python