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


在使用 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中对象与字符串的互相转换详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3