前面我们简单介绍了什么是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例子写的注释。