WEB开发网
开发学院网页设计JavaScript JSON进阶三-JSON的几种调用形式 阅读

JSON进阶三-JSON的几种调用形式

 2010-09-14 13:29:25 来源:WEB开发网   
核心提示:例如:var People = { name: '张三', sex: 1, birth: '2007-1-1' };alert(Peple["name"]);var PeopleArr = [{ name: '张三', sex: 1, birth: &

例如:

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"](); 同上。

Tags:JSON 进阶 JSON

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接