前面我们简单介绍了什么是JSON和JSON的一些特点,在后面,给出了一个JSON的例子。通过这个例子,我们大概对JSON有一个模糊的认识。这篇,我们要介绍JSON的数据类型,通过学习JSON的数据类型表示,彻底能够明白JSON的里面key和value是采用什么数据类型表示的。学习过Java或者其他编程语言的人,都是从数据基本类型学起,有int,float,char,byte等,高级一点的数据类型有数组,字典,列表,结构体等。

还是把前面的JSON例子拿过来

 

{
	"title" : "JSON入门-Java篇",
	"author" : "Anthony",
	"author" : ["JSON基础","JSON常用处理方法介绍"],
	“time” : {
	 	“value” : 2017,
	    “unit” : “天”
	}
}

 

1.JSON中的数据类型组成

JSON中数据类型也分基本数据类型和数据结构类型。

1)数据结构类型

上面的大括号({})和中括号([]), 大括号表示是结构体类型(object),中括号表示是数组类型(array)。

2)基本数据类型

有5中基本数据类型:string, number, true, false,null

       其中,字符串类型就是用双引号包裹的,数字类型,直接写数字就可以,如果数字用双引号,就变成了字符串。true和false是布尔型,还有一种为空,用关键字null表示。

 

2.利用数据类型来描述一个屌丝

需求:利用上面介绍的JSON数据类型,来写一个能够描述一个屌丝。该屌丝的文字描述如下:

-.屌丝名字叫张三

-.年龄是24岁半

-.生日是19xx年xx月xx日

-.毕业学校是蓝翔技校

-.专业是:理发和开挖掘机

-.没有车

-.没有房子

-.没车没房,当然也没有女朋友

       根据上面的条件,我们来拿着条件和JSON的数据类型对照,看看哪些条件的值适合用数字,哪些适合字符串,哪些是null,哪些是数字,哪些是布尔型。例如下面这样设计

1)名字,张三肯定是字符串

2)年龄,24岁半,可以写成24.5,所以这个是一个数字

3)生日,由于JSON是没有日期格式,所以,这个还是一个字符串

4)毕业学校,蓝翔技校,是一个字符串

5)专业,这个地方有两个值,所以,这个需要用数组

6)没有车,没有房,,没有女朋友,可以用null或者布尔型

所以,我们在notepadd++中可以这样写这个JSON数据。

 

{
	“name” : “张三”,
	“age” :  24.5,
	“birthday" : "19xx-xx-xx",
	“school” : “蓝翔技校”,
	“major” : ["理发师", "挖掘机"],
	“car” : null,
	“has_hourse” : false,
	“has_girlfriend" : false

}

注意:

 

       为什么上面写那么多文字来描述,哈哈,因为在json格式中,不支持写注释,所以,我用了那么多文字来一一限定,实际上就是给下面JSON例子写的注释。