本文實例講述了js中json對象和字符串的理解及相互轉(zhuǎn)化操作實現(xiàn)方法。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)公司長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為長安企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),長安網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
<script> var str="{'strv':["+ "{'a':'a11'},"+ " {'a':'b222'}"+ " ]}"; //如果放在一行更清楚:var str="{'strv':[{'a':'a11'}, {'a':'b222'} ]}"; var str2=eval('('+str+')'); // alert(str2.strv[1].a); var jsonob={'jsonv':[ {'j':'j111'}, {'j':'j222'} ]}; //如果放在一行更清楚:var jsonob={'jsonv':[ {'j':'j111'}, {'j':'j222'} ]}; // alert(jsonob.jsonv[1].j); /* var str="{'strv':[{'a':'a11'}, {'a':'b222'} ]}"; var jsonob={'jsonv':[ {'j':'j111'}, {'j':'j222'} ]}; 這樣我們可以看出json對象和字符串是不一樣的! 字符串就是字符串,json對象是一個對象。 雖然其內(nèi)容都是我們看到的json格式,但是兩者是有區(qū)別的。 我們想取出其中某個屬性的值,其實是對json對象操作的(你能取出對象的屬性值,但不能取出字符串的屬性值,字符串沒屬性。)。 所以如果你拿到的是對象,那你就直接可以取值了, 例如jsonob.jsonv[1].j。 如果你拿到的是字符串,那你必須先轉(zhuǎn)化成對象才可以取值, 字符串轉(zhuǎn)對象有幾種方法,js本身自帶的是var str2=eval('('+str+')'); 這里的str2就是對象了。如果你引入了json.js文件,還可以使用其中的 方法,這些都已經(jīng)封裝好了。 總結(jié):json只是一種格式。符合這種格式的可以是json對象,也可以是字符串。 要取屬性值只能從對象里取。所以需要兩者的轉(zhuǎn)化。 js自帶的轉(zhuǎn)化方法: 字符串轉(zhuǎn)成json對象: var str="{'strv':[{'a':'a11'}, {'a':'b222'} ]}";//字符串 var jsonObject=eval('('+str+')');//json對象 json對象轉(zhuǎn)成字符串: js本身沒有這樣的方法,你需要自己寫這樣的方法,才能轉(zhuǎn)化。 從上可知,js本身只可以將字符串轉(zhuǎn)成json對象, 但不可以將json對象轉(zhuǎn)成字符串。其實我們可以用 json.js里的方法,而且更簡單。這時你要引入json.js文件。 json.js里的方法: 字符串轉(zhuǎn)成json對象: var str="{'strv':[{'a':'a11'}, {'a':'b222'} ]}";//字符串 轉(zhuǎn)成json對象方法1: var myJSONObject1=str.parseJSON(); 轉(zhuǎn)成json對象方法2: var myJSONObject2=JSON.parse(str); json對象轉(zhuǎn)成字符串: var jsonob={'jsonv':[ {'j':'j111'}, {'j':'j222'} ]};//json對象 轉(zhuǎn)成字符串方法1:var mystr1=jsonob.toJSONString(); 轉(zhuǎn)成字符串方法2: var mystr2=JSON.stringify(jsonob); */ </script>
通過實驗,我們應(yīng)該明白,json其實是一種格式,js本身支持這種格式,
所以你不需要引入json.js就可以使用json對象。我們一般會引入json.js因為這里面封裝了json對象和字符串轉(zhuǎn)化的方法,方便我們使用(當(dāng)然還有其他方法)。
通過本例我們更好地理解json對象和字符串之間的區(qū)別。
PS:關(guān)于json操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
文章題目:js中json對象和字符串的理解及相互轉(zhuǎn)化操作實現(xiàn)方法
網(wǎng)頁地址:http://muchs.cn/article44/pjjjhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、域名注冊、App設(shè)計、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)