将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 相关文章推荐
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
js语法学习之判断一个对象是否为数组
May 13 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
Aug 25 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
Oct 15 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
Sep 15 Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
JavaScript, select标签元素左右移动功能实现
May 14 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 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使用CURL模拟登录的方法
2015/07/08 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
Python random模块常用方法
2014/11/03 Python
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
Python制作Windows系统服务
2017/03/25 Python
python aiohttp的使用详解
2019/06/20 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
python如何删除文件、目录
2020/06/23 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
公司承诺书格式
2014/05/21 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
介绍信怎么写
2015/01/30 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS