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串中的表達式。

 

4:JSON官方的轉換方式
http://www.json.org/,提供了一個json.js,這樣ie8(兼容模式),ie7和ie6就可以支持JSON對象以及其stringify()和parse()方法;

微信掃一掃,關注最課程(www.zuikc.com),獲取更多我的文章,獲取軟件開發每日一練


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM