javascript實現json字符串與對象轉換的方法:1、json轉換為對象,代碼為【var obj = eval('(' + str + ')')】;2、對象轉成json,代碼為【var str=obj.toJSONString()】。
javascript實現json字符串與對象轉換的方法:
方法一:json.js實現json與對象相互轉換
為了方便地處理JSON數據,JSON提供了json.js包,json.js免費下載地址。
json轉換為對象
//json轉換為對象 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //json字符串轉換為對象 或者 var obj = JSON.parse(str); //json字符串轉換為對象
注意:如果obj本來就是一個JSON對象,那么運用 eval()函數轉換后(哪怕是多次轉換)還是JSON對象,但是運用 parseJSON()函數處理后會有疑問(拋出語法異常)。
對象轉成json
//對象轉成json 可以運用 toJSONString()或者JSON.stringify()將JSON對象轉化為JSON字符串。 var str=obj.toJSONString(); //將對象轉成json 或者 var last=JSON.stringify(obj); //將對象轉成json
以上,除了eval()函數是js自帶的之外,其他的多個要領都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個函數都注入到了 Javascript 的內建對象里面,前者變成了 Object.toJSONString(),而后者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON(),則說明您的json包版本太低。
方法二:jQuery.json實現json與對象相互轉換
jQuery.json 是 jQuery 的一個插件,可輕松實現對象和 JSON 字符串之間的轉換。可序列化 JavaScript 對象、數值、字符串和數組到 JSON 字符串,同時可轉換 JSON 字符串到 JavaScript,免費下載地址。
對象轉成json
//對象轉成json var thing = {plugin: 'jquery-json', version: 2.3};//js對象 var str = $.toJSON(thing);//轉換為json,結果: '{"plugin":"jquery-json","version":2.3}'
json轉成對象
//json轉成對象 var obj= $.evalJSON(str); var name=obj.plugin;//js對象.屬性,結果: "jquery-json" var version =obj.version;//結果: 2.3