JavaScript中對JSON對象的基本操作示例
JSON對象
1、對象的屬性:
對象的屬性是有鍵值對組成的,其中key為一個字符串,value可以為任何的Javascript對象。
//使用[]設置和獲取對象的屬性 var obj = new Object(); obj["chabaoo.cn"] = "http://chabaoo.cn"; alert(obj["chabaoo.cn"]);
2、變量既是屬性:
Javascript引擎在初始化時會構建一個全局對象,所有的變量都是這個全局對象的屬性。為了引用這個全局對象,可以再頂級作用域中這樣獲取:
var global = this;
在Javascript中,任何獨立的函數或者變量都屬于這個對象的屬性,即:
function test(){}
相當于:
window.test = function(){}
3、使用對象:
聲明對象的三種方式:
① 通過new操作符創(chuàng)建一個Object對象,然后動態(tài)地添加屬性,從無到有構造一個對象
② 定義對象的類圓形,然后使用new操作符來批量構造新的對象
//創(chuàng)建一個對象 function User(username, password){ this.username = username; this.password = password; this.getUsername = function(){ return this.username; } this.getPassword = function(){ return this.password; } } var arthinking = new User("Jason", "123"); alert(arthinking.getUsername()); alert(arthinking.getPassword());
③ 使用JSON構造對象
JSON即Javascript對象表示方法(Javascript Object Notation),也就是通過字面量來表示一個對象:
//JSON形式創(chuàng)建一個對象 var arthinking = { username : "Jason", password : "123", favorite : { sports : "football", music : "Guitar" } } alert(arthinking.username); alert(arthinking.favorite.sports);
解析由服務器返回的JSON格式數據
單個JSON對象:
[{a:'1',b'2'},{a:'3',b'4'}]
多個JSON對象:
{ "usergroups":[{a:'001',b:'arthinking'},a:'002',b:'Jason'}], "groups":[{c:'001',d:'IT宅'}] }
可以根據這種格式先從后臺封裝好需要傳遞的數據,前臺獲取到后可以這樣解析獲取數據:
//假設response.responseText為返回的JSON字符串 //可以使用eval()函數把JSON字符串轉換成Javascript語句 //再通過”.”導航獲取具體屬性,length屬性為對象的長度 var obj = eval( "(" + response.responseText + ")" ); for(var i = 0; i<obj.usergroups.length; i++){ var groupid = obj.usergroups[i].a; var usergroup=obj.groups; for(var j=0; j<usergroup.length; j++){ if(usergroup[j].c == groupid){ alert(groupid); } } }
相關文章
IE6瀏覽器下resize事件被執(zhí)行了多次解決方法
在IE瀏覽器下,一次resize事件被執(zhí)行了多次,這是IE6和IE7的一個比較廣為認知的問題,這個問題在這兩個版本的瀏覽器中表現有所不同,通常IE6下會比IE7下更為糟糕,接下來將介紹解決方法,需要的朋友可以參考下2012-12-12