将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 相关文章推荐
ExtJs使用IFrame的实现代码
Mar 24 Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
Mar 28 Javascript
基于JS实现简单的样式切换效果代码
Sep 04 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
JS实现页面打印功能
Mar 16 Javascript
微信小程序之 catalog 切换实现解析
Sep 12 Javascript
vue开发拖拽进度条滑动组件
Sep 21 Javascript
基于vue实现探探滑动组件功能
May 29 Javascript
解决vue项目本地启动时无法携带cookie的问题
Feb 06 Vue.js
vue实力踩坑之push当前页无效
Apr 10 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
ThinkPHP标签制作教程
2014/07/10 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
得到Class的三个过程是什么
2012/08/10 面试题
JSF如何进行表格处理及取值
2012/08/06 面试题
会计电算化学生个人的自我评价
2014/02/08 职场文书
运动会班级口号
2014/06/09 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
个人务虚会发言材料
2014/10/20 职场文书
初中成绩单评语
2014/12/29 职场文书
医院志愿者活动总结
2015/05/06 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书