JS中对象与字符串的互相转换详解


Posted in Javascript onMay 20, 2016

在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题:

throw new SyntaxError('JSON.parse');

查询资料,大概意思如下:

JSON.parse方法在遇到不可解析的字符串时,会抛出SyntaxError异常。

即:JSON.parse(text, reviver),This method parses a JSON text to produce an object or array. t can throw a SyntaxError exception.

所以,在这里在此总结一下 JS 中对象与字符串的互相转换,因为这涉及到浏览器兼容问题。

1:jQuery插件支持的转换方式

代码如下:

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象

反过来,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();

2:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器

代码如下:

JSON.parse(jsonstr); //可以将json字符串转换成json对象

JSON.stringify(jsonobj); //可以将json对象转换成json对符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,需要引入 json.js 或 json2.js。

3:Javascript支持的转换方式

eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号

注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

以上这篇JS中对象与字符串的互相转换详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS 2.2.1的grid控件在ie6中的显示问题
May 04 Javascript
jquery将一个表单序列化为一个对象的方法
Jan 03 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
Sep 26 Javascript
Angular2自定义分页组件
Apr 19 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
javaScript强制保留两位小数的输入数校验和小数保留问题
May 09 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
Dec 10 Javascript
微信小程序上传多图到服务器并获取返回的路径
May 05 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
Jul 10 Javascript
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
微信小程序如何连接Java后台
Aug 08 Javascript
JS 对象(Object)和字符串(String)互转方法
May 20 #Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 #Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 #Javascript
深入理解JS addLoadEvent函数
May 20 #Javascript
用jQuery获取table中行id和td值的实现代码
May 19 #Javascript
jquery遍历table的tr获取td的值实现方法
May 19 #Javascript
jquery if条件语句的写法
May 19 #Javascript
You might like
PHP编程中八种常见的文件操作方式
2006/11/19 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
zend framework重定向方法小结
2016/05/28 PHP
php处理带有中文URL的方法
2016/07/11 PHP
Javascript - HTML的request类
2006/07/15 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
记一次vue跨域的解决
2020/10/21 Javascript
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
详解python statistics模块及函数用法
2019/10/27 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
Keras loss函数剖析
2020/07/06 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
关于爱国的演讲稿
2014/05/07 职场文书
法学自荐信
2014/06/20 职场文书
护士岗位竞聘书
2015/09/15 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫
Oracle使用别名的好处
2022/04/19 Oracle
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android