将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 ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
js全屏显示显示代码的三种方法
Nov 11 Javascript
Knockout visible绑定使用方法
Nov 15 Javascript
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
Vue实现星级评价效果实例详解
Dec 30 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 Javascript
原生js实现购物车
Sep 23 Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 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 数据库字段复用的基本原理与示例
2011/07/22 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
jQuery事件用法详解
2016/10/06 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
Python 面试中 8 个必考问题
2018/11/16 Python
python实现简易动态时钟
2018/11/19 Python
python之生产者消费者模型实现详解
2019/07/27 Python
python 字典套字典或列表的示例
2019/12/16 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
大学生创业计划书的用途
2014/01/08 职场文书
青年志愿者活动总结
2014/04/26 职场文书
法律顾问服务方案
2014/05/15 职场文书
离婚财产处理协议书
2014/09/30 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL