JSON简单介绍

JSON是简称,全称是JavaScript Object Notation,翻译过来就是JavaScript对象表示法,根据名字就可以看出来,它是用来表示JavaScript中的对象的。虽然如此,但是既然是一种表示方法,我们也可以用这种方法来表示其他对象,只要符合这种表示方法即可。JSON不需要依赖于语言,平台。其实很好理解,只是因为这是一种方法,就像算法一样,不管你用什么语言写,原理不会变。

来看一段JSON格式表示的数据:

{
    "name": "中国",
    "province": [{
        "name": "黑龙江",
        "cities": {
            "city": ["哈尔滨", "大庆"]
        }
    }, 
    {
        "name": "广东",
        "cities": {
            "city": ["广州", "深圳", "珠海"]
        }
    }, 
    {
        "name": "台湾",
        "cities": {
            "city": ["台北", "高雄"]
        }
    }, 
    {
        "name": "新疆",
        "cities": {
            "city": ["乌鲁木齐"]
        }
    }]
}

就像其他语言有数据类型这一概念一样,JSON也有自己的数据类型。

String:字符串类型。用双引号包括起来的就是字符串,像上面的”name”,”中国”,”province”….,JSON所有的名称必须是String类型,而值则为JSON中的5个类型。

Number:数字类型。 JSON中的数字包括整数和浮点数,不带双引号。比如1,10,100

Boolean:布尔型。和其它语言如Java一样,JSON的布尔类型的值有两个true和false。

Array:数组类型。用[]包括起来的就是数组类型,两个元素之间用逗号进行分割。比如上面的province和city。数组中的元素可以是JSON中的任意类型。

Object:对象。用{}包括的就是JSON的对象,比如上面的第一对{},包括的就是一个对象,以及province的[]里面的{},包括的也是一个对象。对象可以包括多个名称:值对。

null:取值就是null,也就是没有值。

简单介绍了JSON的数据类型之后,对于上面的一段JSON代码我们就可以看懂了。

首先是一对大括号包括了所有的元素,就像html一样,所有标签都要写在<html></html>里面一样。然后是一个”name”:”中国”,这是第一个元素,而且是是String类型。

第二个province,可以看出是一个数组,包括了四个元素,在每个元素里面,又包含了一个String类型的name,和一个对象cities,而cities又包括了一个city数组。

然后我们再梳理一下,这段代码的意思是中国有黑龙江,广东,台湾,新疆这几个省,而黑龙江有哈尔滨,大庆两个城市,广东有广州,深圳,珠海这几个城市。后面的台湾,新疆也是如此。

如果用Java来表示的话,就是下面这样:

public class China{
    private String name;
    private List<Province> province;
}
public class Province{
    private String name;
    private List<String> city;
}

JSON的目的就是把数据转换为字符串,然后进行网络传输。因为JSON数据简洁,数据量相对xml来说更小,所以很多的网络数据传输都用的JSON。比如把Web中使用Ajax请求服务器,服务器返回JSON格式的数据,然后js接受返回的数据进行解析,就完成了数据的传输。

本篇文章结束,在下一篇文章中再介绍,如何在Java对象与JSON对象之间进行转换。


欢迎参观我的新网站yuelai.xyz

猜你喜欢

转载自blog.csdn.net/qq_37415801/article/details/80929792
今日推荐