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 创建对象(常见的几种方法)
Nov 03 Javascript
[原创]js获取数组任意个不重复的随机数组元素
Mar 15 Javascript
关于jQuery object and DOM element
Apr 15 Javascript
javascript实现yield的方法
Nov 06 Javascript
五种js判断是否为整数类型方式
Dec 03 Javascript
js判断浏览器是否支持严格模式的方法
Oct 04 Javascript
node.js 抓取代理ip实例代码
Apr 30 Javascript
javascript 通过键名获取键盘的keyCode方法
Dec 31 Javascript
浅析Visual Studio Code断点调试Vue
Feb 27 Javascript
js module大战
Apr 19 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
Jul 27 Javascript
解决vant中 tab栏遇到的坑 van-tabs
Nov 04 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代码保护--Zend Guard的使用详解
2013/06/03 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
13个PHP函数超实用
2015/10/21 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
极简的Python入门指引
2015/04/01 Python
Python的语言类型(详解)
2017/06/24 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
django框架中间件原理与用法详解
2019/12/10 Python
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
母亲节演讲稿
2014/05/27 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
黄埔军校观后感
2015/06/10 职场文书
家庭经济困难证明
2015/06/23 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers