遍歷json獲得數(shù)據(jù)的幾種方法小結(jié)
Json在Web開(kāi)發(fā)的用處非常廣泛,作為數(shù)據(jù)傳遞的載體,如何解析Json返回的數(shù)據(jù)是非常常用的。下面介紹下四種解析Json的方式:
Part 1
var list1 = [1,3,4]; alert(list1[1]); var list2 = [{"name":"leamiko","xing":"lin"}]; alert(list2[0]["xing"]) alert(list2[0].xing)
Part 2
var value = { "china":{ "hangzhou":{"item":"1"}, "shanghai":{"item":"2"}, "chengdu":{"item":"3"} }, "America":{ "aa":{"item":"1"}, "bb":{"item":"2"} }, "Spain":{ "dd":{"item":"1"}, "ee":{"item":"2"}, "ff":{"item":"3"} } }; for(var countryObj in value) { document.write(countryObj + ":<br />") //沒(méi)用的for(var cityObj in value.countryObj) for(var cityObj in value[countryObj]) { document.write(' ' + cityObj + "<br />"); for(var itemObj in value[countryObj][cityObj]) { document.write(" "+ itemObj + value[countryObj][cityObj][itemObj] +"<br />") } } }
解釋:
countryObj 為value對(duì)象的一個(gè)屬性明,value[countryObj] 為value對(duì)象的屬性值 這里為一個(gè)json對(duì)象比如b,value[countryObj][cityObj]為josn對(duì)象b的屬性值 它也是一個(gè)json對(duì)象,于是 value[countryObj][cityObj]["item"]便可以取到j(luò)son對(duì)象暫時(shí)成為c的值,或者 value[countryObj][cityObj].item。
總之分清是json還是array這是很關(guān)鍵的。
Part 3
var value2 = { "china":[ {"name":"hangzhou", "item":"1"}, {"name":"shanghai", "item":"2"}, {"name":"sichuan", "item":"3"} ], "America":[ {"name":"aa", "item":"12"}, {"name":"bb", "item":"2"} ], "Spain":[ {"name":"cc", "item":"1"}, {"name":"dd", "item":"23"}, {"name":"ee", "item":"3"} ] };<BR> for (var countryObj in value2) { document.write(countryObj + ":<br />") for (var cityObj in value2[countryObj]) { //可以用document.write(" " + value2[countryObj][cityObj].item + "<br />"); document.write(cityObj + " " + value2[countryObj][cityObj]["name"] + "<br />" ); } }
解釋:
countryObj 為value2對(duì)象的屬性名,value2[countryObj] 為value2對(duì)象屬性值 在本例中它是一個(gè)數(shù)組,cityObj 是數(shù)組的一個(gè)元素,它又是另外一個(gè)json對(duì)象,于是,value2[countryObj][cityObj]["name"]就訪問(wèn)到該對(duì)象的 name的屬性值,也可以通過(guò) value2[countryObj][cityObj].name 來(lái)訪問(wèn)該屬性值。
Part 4
var value2 = { "china":[ {"name":"hangzhou", "item":"1"}, {"name":"shanghai", "item":"2"}, {"name":"sichuan", "item":"3"} ], "America":[ {"name":"aa", "item":"12"}, {"name":"bb", "item":"2"} ], "Spain":[ {"name":"cc", "item":"1"}, {"name":"dd", "item":"23"}, {"name":"ee", "item":"3"} ] }; for (var countryObj in value2) { document.write(countryObj + ":<br />") //document.write(" " + value2[countryObj].length); for (var i = 0;i < value2[countryObj].length; i++) { document.write(" " + value2[countryObj][i]["name"] + "<br />"); } }
解釋:
countryObj value2對(duì)象的屬性名,value2[countryObj] 屬性值 本例中是一個(gè)數(shù)組,value2[countryObj].length 數(shù)組的長(zhǎng)度,value2[countryObj][i]數(shù)組的項(xiàng) == json對(duì)象。
value2[countryObj][i]["name"] 取得name的值,也可以用value2[countryObj][i].name 來(lái)取得name的值。
當(dāng)一個(gè)人找不到出路的時(shí)候,最好的辦法就是將當(dāng)前能做好的事情做到極致,做到無(wú)人能及。
以上這篇遍歷json獲得數(shù)據(jù)的幾種方法小結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery實(shí)現(xiàn)根據(jù)生日計(jì)算年齡 星座 生肖
本篇文章主要是對(duì)利用jQuery實(shí)現(xiàn)根據(jù)生日計(jì)算年齡,星座,生肖的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下2016-11-11JS和JQUERY獲取頁(yè)面大小,滾動(dòng)條位置,元素位置(示例代碼)
這篇文章主要是對(duì)JS和JQUERY獲取頁(yè)面大小,滾動(dòng)條位置,元素位置的示例代碼進(jìn)行了介紹。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12jquery實(shí)現(xiàn)限制textarea輸入字?jǐn)?shù)的方法
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)限制textarea輸入字?jǐn)?shù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09利用jQuery操作對(duì)象數(shù)組的實(shí)現(xiàn)代碼
利用jQuery操作對(duì)象數(shù)組的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-04-04jQuery 擴(kuò)展對(duì)input的一些操作方法
擴(kuò)展對(duì)input的一些方法(練習(xí)jQuery插件)2009-10-10jquery中的$(document).ready()與window.onload的區(qū)別
瀏覽器執(zhí)行window.onload函數(shù)不僅僅是在構(gòu)建完DOM樹(shù)之后, 也是在所有圖像和其他外部資源完整的加載并且在瀏覽器窗口顯示完畢之后.2009-11-11jQuery EasyUI中對(duì)表格進(jìn)行編輯的實(shí)現(xiàn)代碼
對(duì)表格進(jìn)行增刪改后一次性保存或回滾的發(fā)生相當(dāng)有用。參照官方的教程例子做了個(gè)用戶管理的小例子。2010-06-06jQuery+canvas實(shí)現(xiàn)簡(jiǎn)單的球體斜拋及顏色動(dòng)態(tài)變換效果
這篇文章主要介紹了jQuery+canvas實(shí)現(xiàn)簡(jiǎn)單的球體斜拋及顏色動(dòng)態(tài)變換效果,通過(guò)jQuery+html5的canvas利用時(shí)間函數(shù)進(jìn)行實(shí)時(shí)數(shù)學(xué)運(yùn)算動(dòng)態(tài)繪制拋物線圖形的技巧,需要的朋友可以參考下2016-01-01jQuery Validate讓普通按鈕觸發(fā)表單驗(yàn)證的方法
一般的表單校驗(yàn)都是直接注冊(cè)在頁(yè)面上的匿名函數(shù),導(dǎo)致只能通過(guò)固定的提交方式觸發(fā)表單校驗(yàn),如果想自定義一個(gè)按鈕觸發(fā)表單校驗(yàn)如何實(shí)現(xiàn)呢,下面通過(guò)本文給大家詳細(xì)介紹2016-12-12