JavaScript中对JSON对象的基本操作示例
JSON对象
1、对象的属性:
对象的属性是有键值对组成的,其中key为一个字符串,value可以为任何的Javascript对象。
//使用[]设置和获取对象的属性 varobj=newObject(); obj["www.nhooo.com"]="https://www.nhooo.com"; alert(obj["www.nhooo.com"]);
2、变量既是属性:
Javascript引擎在初始化时会构建一个全局对象,所有的变量都是这个全局对象的属性。为了引用这个全局对象,可以再顶级作用域中这样获取:
varglobal=this;
在Javascript中,任何独立的函数或者变量都属于这个对象的属性,即:
functiontest(){}
相当于:
window.test=function(){}
3、使用对象:
声明对象的三种方式:
①通过new操作符创建一个Object对象,然后动态地添加属性,从无到有构造一个对象
②定义对象的类圆形,然后使用new操作符来批量构造新的对象
//创建一个对象
functionUser(username,password){
this.username=username;
this.password=password;
this.getUsername=function(){
returnthis.username;
}
this.getPassword=function(){
returnthis.password;
}
}
vararthinking=newUser("Jason","123");
alert(arthinking.getUsername());
alert(arthinking.getPassword());
③使用JSON构造对象
JSON即Javascript对象表示方法(JavascriptObjectNotation),也就是通过字面量来表示一个对象:
//JSON形式创建一个对象
vararthinking={
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属性为对象的长度
varobj=eval("("+response.responseText+")");
for(vari=0;i<obj.usergroups.length;i++){
vargroupid=obj.usergroups[i].a;
varusergroup=obj.groups;
for(varj=0;j<usergroup.length;j++){
if(usergroup[j].c==groupid){
alert(groupid);
}
}
}