将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 相关文章推荐
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 Javascript
jQuery制作可自定义大小的拼图游戏
Mar 30 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
利用Javascript实现BMI计算器
Aug 16 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 Javascript
webpack4 + react 搭建多页面应用示例
Aug 03 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
Node.js从字符串生成文件流的实现方法
Aug 18 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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
77A一级收信机修理记
2021/03/02 无线电
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
thinkphp分页集成实例
2017/07/24 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
详解用vue.js和laravel实现微信支付
2017/06/23 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
vue - props 声明数组和对象操作
2020/07/30 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
详解python 爬取12306验证码
2019/05/10 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
Python中一些深不见底的“坑”
2019/06/12 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
暑假实习求职信范文
2013/09/22 职场文书
质检部岗位职责
2013/11/11 职场文书
前台领班岗位职责
2013/12/04 职场文书
单位单身证明范本
2014/01/11 职场文书
学子宴答谢词
2014/01/25 职场文书
计生专干事迹
2014/05/28 职场文书