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); } } }