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 相关文章推荐
js下用gb2312编码解码实现方法
Dec 31 Javascript
Javascript字符串对象的常用方法简明版
Jun 26 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
分享几种比较简单实用的JavaScript tabel切换
Dec 31 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
May 25 Javascript
改变checkbox默认选中状态及取值的实现代码
May 26 Javascript
js制作简单的音乐播放器的示例代码
Aug 28 Javascript
vue + typescript + 极验登录验证的实现方法
Jun 27 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 Javascript
如何在vue中使用jointjs过程解析
May 29 Javascript
vuex管理状态仓库使用详解
Jul 29 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 Cookie的一个使用注意点
2008/11/08 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
python动态监控日志内容的示例
2014/02/16 Python
python实现数通设备端口监控示例
2014/04/02 Python
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
Python中的CSV文件使用"with"语句的方式详解
2018/10/16 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
2014年元旦活动方案
2014/02/15 职场文书
幼儿园优秀班主任事迹材料
2014/05/14 职场文书
市场营销毕业求职信
2014/08/07 职场文书
让世界充满爱观后感
2015/06/10 职场文书
vue打包时去掉所有的console.log
2022/04/10 Vue.js
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers