JS中对象与字符串的互相转换详解
在使用JSON2.JS文件的JSON.parse(data)方法时候,碰到了问题:
thrownewSyntaxError('JSON.parse');
查询资料,大概意思如下:
JSON.parse方法在遇到不可解析的字符串时,会抛出SyntaxError异常。
即:JSON.parse(text,reviver),ThismethodparsesaJSONtexttoproduceanobjectorarray.tcanthrowaSyntaxErrorexception.
所以,在这里在此总结一下JS中对象与字符串的互相转换,因为这涉及到浏览器兼容问题。
1:jQuery插件支持的转换方式
代码如下:
$.parseJSON(jsonstr);//jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
反过来,使用serialize系列方法:如:varfields=$("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中对象与字符串的互相转换详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。