JavaScript中對JSON對象的基本操作示例
JSON對象
1、對象的屬性:
對象的屬性是有鍵值對組成的,其中key為一個字符串,value可以為任何的Javascript對象。
//使用[]設置和獲取對象的屬性 var obj = new Object(); obj["www.dhdzp.com"] = "http://www.dhdzp.com"; alert(obj["www.dhdzp.com"]);
2、變量既是屬性:
Javascript引擎在初始化時會構建一個全局對象,所有的變量都是這個全局對象的屬性。為了引用這個全局對象,可以再頂級作用域中這樣獲?。?/p>
var global = this;
在Javascript中,任何獨立的函數(shù)或者變量都屬于這個對象的屬性,即:
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格式數(shù)據(jù)
單個JSON對象:
[{a:'1',b'2'},{a:'3',b'4'}]
多個JSON對象:
{
"usergroups":[{a:'001',b:'arthinking'},a:'002',b:'Jason'}],
"groups":[{c:'001',d:'IT宅'}]
}
可以根據(jù)這種格式先從后臺封裝好需要傳遞的數(shù)據(jù),前臺獲取到后可以這樣解析獲取數(shù)據(jù):
//假設response.responseText為返回的JSON字符串
//可以使用eval()函數(shù)把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);
}
}
}
相關文章
javascript 學習筆記(八)javascript對象
昨天看了些有關javascript對象方面的文章,以下是自己的一些學習心得及體會,希望同大家共同討論!2011-04-04
javascript開發(fā)技術大全 第4章 直接量與字符集
直接量就是在程序中顯示出來的數(shù)值。javascript直接量包括:字符串、數(shù)字、布爾、數(shù)組、函數(shù)、對象、和特殊直接2011-07-07
表單元素的submit()方法和onsubmit事件應用概述
表單元素擁有submit方法,同時也具有onsubmit事件句柄,用于監(jiān)聽表單提交。可以使用elemForm.submit();方法觸發(fā)表單提交,感興趣的朋友可以了解下,或許對你有所幫助2013-02-02

