JSON进阶一--初识JSON

JSON进阶一--初识JSON

夜鹰电脑教学网 责任编辑:夜鹰 加入日期:2008-12-22 22:45:00 点击数: 总:96今日:4昨日:0本周:5本月:5今年:80

关键字:Ajax,JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

上述的JSON,是我网上找来的,而我理解的JSON是一种以键值对形式描述的数据结构,他可以等同于后台的类。

例如:我们在后台有个People类,以C#为例:

publicclassPeople{
    /**////<summary>
    ///姓名
    ///</summary>
    publicstringname;
    /**////<summary>
    ///性别
    ///</summary>
    publicbytesex;
    /**////<summary>
    ///出生日期
    ///</summary>
    publicDateTimebirth;
}

而用JSON方式描述这个People可以表现为:var People = {name:'',sex:0,birth:''};

那如何描述集合那?例如:

List
 
   
    
   pList = new List
  
    
      (); 。 
     

JSON的表现形式为:

[{name:'张三',sex:1,birth:'2008-10-01'},{name:'李四',sex:2,birth:2009-01-01}]

如此使用JSON就能表现出各种形式的二维表结构。

每个人都需要上学,都有自己的班级例如:

publicclassPeople{
    ///<summary>
    ///姓名
    ///</summary>
    publicstringname;
    ///<summary>
    ///性别
    ///</summary>
    publicbytesex;
    ///<summary>
    ///出生日期
    ///</summary>
    publicDateTimebirth;
    ///<summary>
    ///班级
    ///</summary>
    publicClassesclasses;
  }
  publicclassClasses{
    ///<summary>
    ///班级编号
    ///</summary>
    publicintID;
    ///<summary>
    ///班级人数
    ///</summary>
    publicintCount;
}

var classes = {ID:'',Count:''}
  
var People = {name:'',sex:'',birth:'',classes:classes};

以此类推,我们可以用JSON表现出更复杂的后台类结构:


即使是方法,构造函数也一样可以:


例如:


publicclassPeople{
    ///<summary>
    ///人类的构造函数
    ///</summary>
    ///<paramname="cls">班级</param>
    publicPeople(Classescls){
      this.classes=cls;
    }
    ///<summary>
    ///姓名
    ///</summary>
    publicstringname;
    ///<summary>
    ///性别
    ///</summary>
    publicbytesex;
    ///<summary>
    ///出生日期
    ///</summary>
    publicDateTimebirth;
    ///<summary>
    ///班级
    ///</summary>
    publicClassesclasses;
    ///<summary>
    ///吃饭方法
    ///</summary>
    publicvoidEating{}
  }
  publicclassClasses{
    ///<summary>
    ///班级编号
    ///</summary>
    publicintID;
    ///<summary>
    ///班级人数
    ///</summary>
    publicintCount;
  }

JSON的表现形式为:


varClasses={ID:1,Count:20}
varPeople={
       name:'',
       sex:'',
       birth:'',
       classes:{},
       Eating:function(){//吃饭方法
              alert('在'+this.classes.ID+'班和'+this.classes.Count+'个同学一起吃饭');
           },
       Init:function(cls){//构造函数
            this.classes=cls;
          }
       
};
People.Init(Classes);
People.Eating();

以上的JSON例子对应后台的Class表现形式都是static的,想知道如何使用面向对象的JSON请看下回吧。

你可能感兴趣的:(json)