将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 相关文章推荐
javascript面向对象之Javascript 继承
May 04 Javascript
jQuery创建DOM元素实例解析
Jan 19 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
微信小程序 icon组件详细及实例代码
Oct 25 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
React入门教程之Hello World以及环境搭建详解
Jul 11 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
Sep 04 Javascript
vue2.0 实现导航守卫(路由守卫)
May 21 Javascript
layer提示框添加多个按钮选择的实例
Sep 12 Javascript
vue中动态select的使用方法示例
Oct 28 Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 Javascript
详解vue身份认证管理和租户管理
May 25 Vue.js
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 压缩文件夹的类代码
2009/11/05 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
PHP制作用户注册系统
2015/10/23 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
回调函数的意义以及python实现实例
2017/06/20 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
python自动化之Ansible的安装教程
2019/06/13 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
如何用python 操作zookeeper
2020/12/28 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
文体活动实施方案
2014/03/27 职场文书
迎新晚会策划方案
2014/06/13 职场文书
快递员岗位职责
2014/09/12 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL