JSON进阶一-初识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#为例:

public   class  People {
        
/**/ ///   <summary>
        
///  姓名
        
///   </summary>
         public   string  name;
        
/**/ ///   <summary>
        
///  性别
        
///   </summary>
         public   byte  sex;
        
/**/ ///   <summary>
        
///  出生日期
        
///   </summary>
         public  DateTime birth;
}

 

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

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

List<People> pList = new List<People>(); 。

JSON的表现形式为:

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

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

 

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

public   class  People {
        
///   <summary>
        
///  姓名
        
///   </summary>
         public   string  name;
        
///   <summary>
        
///  性别
        
///   </summary>
         public   byte  sex;
        
///   <summary>
        
///  出生日期
        
///   </summary>
         public  DateTime birth;
        
///   <summary>
        
///  班级
        
///   </summary>
         public  Classes classes;
    }

    
public   class  Classes {
        
///   <summary>
        
///  班级编号
        
///   </summary>
         public   int  ID;
        
///   <summary>
        
///  班级人数
        
///   </summary>
         public   int  Count;
}

我们用JSON去表示这样的结构:

var classes = {ID:'',Count:''}

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

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

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

例如:

public   class  People {
        
///   <summary>
        
///  人类的构造函数
        
///   </summary>
        
///   <param name="cls"> 班级 </param>
         public  People(Classes cls){
            
this .classes  =  cls;
        }

        
///   <summary>
        
///  姓名
        
///   </summary>
         public   string  name;
        
///   <summary>
        
///  性别
        
///   </summary>
         public   byte  sex;
        
///   <summary>
        
///  出生日期
        
///   </summary>
         public  DateTime birth;
        
///   <summary>
        
///  班级
        
///   </summary>
         public  Classes classes;
        
///   <summary>
        
///  吃饭方法
        
///   </summary>
         public   void  Eating { }
    }

    
public   class  Classes {
        
///   <summary>
        
///  班级编号
        
///   </summary>
         public   int  ID;
        
///   <summary>
        
///  班级人数
        
///   </summary>
         public   int  Count;
    }

 

JSON的表现形式为:

var Classes  =  {ID: 1 ,Count: 20 }

var People 
=  {
               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)