您的位置:首页 > Web前端 > JavaScript

JSON进阶一-初识JSON

2011-11-29 19:25 218 查看
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请看下回吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息