var People = { name: '张三', sex: 1, birth: '2007-1-1' };
alert(Peple["name"]);
var PeopleArr = [{ name: '张三', sex: 1, birth: '2007-1-1' },{ name: '李四', sex: 2, birth: '2007-2-1' }];
调用'张三'
alert(PeopleArr[0].name);
alert(PeopleArr[0]["name"]); 同上。
二者之间没有任何区别,但后者更为灵活,我可以动态的调用JSON中的容易对象。
如何获得JSON的Key:
for (var key in PeopleArr[0]){
alert(key);
}
这样我们可以获得:name,sex,birth;
同样的我们可以遍历出JSON中的所有对象:
for (var key in PeopleArr[0]){
alert(PeopleArr[0][key]);
}
经常会有人问我这样获得JSON的主键有什么用,用处大的去了,例如:JQuery中的getJSON()方法,其中传递到后台的使用的是Json格式,其实它并不是真的以JSON格式传递到后台,而是通过上述形式拼接成一串参数传递到后台。
例如:
var arr = new Array();
for (var key in PeopleArr[0]){
arr.push(key+'='+PeopleArr[0][key]);
}
alert(arr.join('&'));
是不是比你一个个傻傻的拼接上去方便多了?
调用JSON方法:
var People = {
name: '',
sex: 0,
birth: '',
Speak: function() {
var sexCN = this.sex == 1 ? '男' : '女';
alert('我叫:' + this.name + ',' + sexCN + '性,出生于:' + this.birth);
}
};
People.Speak(); 必须加上括号。
People["Speak"](); 同上。