javascript實(shí)現(xiàn)json字符串與對(duì)象轉(zhuǎn)換的方法:1、json轉(zhuǎn)換為對(duì)象,代碼為【var obj = eval('(' + str + ')')】;2、對(duì)象轉(zhuǎn)成json,代碼為【var str=obj.toJSONString()】。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版,DELL G3電腦。
javascript實(shí)現(xiàn)json字符串與對(duì)象轉(zhuǎn)換的方法:
方法一:json.js實(shí)現(xiàn)json與對(duì)象相互轉(zhuǎn)換
為了方便地處理JSON數(shù)據(jù),JSON提供了json.js包,json.js免費(fèi)下載地址。
json轉(zhuǎn)換為對(duì)象
//json轉(zhuǎn)換為對(duì)象 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //json字符串轉(zhuǎn)換為對(duì)象 或者 var obj = JSON.parse(str); //json字符串轉(zhuǎn)換為對(duì)象
注意:如果obj本來就是一個(gè)JSON對(duì)象,那么運(yùn)用 eval()函數(shù)轉(zhuǎn)換后(哪怕是多次轉(zhuǎn)換)還是JSON對(duì)象,但是運(yùn)用 parseJSON()函數(shù)處理后會(huì)有疑問(拋出語法異常)。
對(duì)象轉(zhuǎn)成json
//對(duì)象轉(zhuǎn)成json 可以運(yùn)用 toJSONString()或者JSON.stringify()將JSON對(duì)象轉(zhuǎn)化為JSON字符串。 var str=obj.toJSONString(); //將對(duì)象轉(zhuǎn)成json 或者 var last=JSON.stringify(obj); //將對(duì)象轉(zhuǎn)成json
以上,除了eval()函數(shù)是js自帶的之外,其他的多個(gè)要領(lǐng)都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個(gè)函數(shù)都注入到了 Javascript 的內(nèi)建對(duì)象里面,前者變成了 Object.toJSONString(),而后者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON(),則說明您的json包版本太低。
方法二:jQuery.json實(shí)現(xiàn)json與對(duì)象相互轉(zhuǎn)換
jQuery.json 是 jQuery 的一個(gè)插件,可輕松實(shí)現(xiàn)對(duì)象和 JSON 字符串之間的轉(zhuǎn)換??尚蛄谢?JavaScript 對(duì)象、數(shù)值、字符串和數(shù)組到 JSON 字符串,同時(shí)可轉(zhuǎn)換 JSON 字符串到 JavaScript,免費(fèi)下載地址。
對(duì)象轉(zhuǎn)成json
//對(duì)象轉(zhuǎn)成json var thing = {plugin: 'jquery-json', version: 2.3};//js對(duì)象 var str = $.toJSON(thing);//轉(zhuǎn)換為json,結(jié)果: '{"plugin":"jquery-json","version":2.3}'
json轉(zhuǎn)成對(duì)象
//json轉(zhuǎn)成對(duì)象 var obj= $.evalJSON(str); var name=obj.plugin;//js對(duì)象.屬性,結(jié)果: "jquery-json" var version =obj.version;//結(jié)果: 2.3
相關(guān)免費(fèi)學(xué)習(xí)推薦:javascript視頻教程