在使用 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中對象與字符串的互相轉換詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。