JSON介绍

419 阅读2分钟

json介绍

JSON(javaScript Object Nitation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来储存和表示数据。

特点:

1.简洁、清晰的层次结构使得JSON成为理想的数据交换语言
2.易于人阅读和编写
3.易于机器解析和生成
4.提升网络传输效率

JSON语法:

JSON是一个标记符的序列。(标记符包含六个构造字符、字符串、数字和三个字面名)

JSON是一个序列的对象(bject)或数组(Array)。

1.六个构造字符:[ { ] } : ,(两个大括号,两个花括号,冒号,逗号)
2.值可以是对象、数组、数字、字符串或者三个字面值(false/null、true)中的一个。值中的字值中的英语必须使用小写。
3.对象(Object)由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:
{"name":"John Doe","age":18,"address":{"country":"china","zip-code":"10000"}}
4.数组是由方括号起来的一组值构成,如:
[3, 1, 4, 1, 5, 9, 2, 6]

一些合法的JSON的实例:

1. {"a":1,"b":[1,2,3]}
2. [1, 2, "3", {"a": 4}]
3. 3.14
4. "plain_text"

常用类型

数据结构:Object Array
基本类型:string、number、true、false、null
任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。

和XML的比较

实例比较

XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。 用XML表示中国部分省市数据如下:

<country>
    <name>中国</name>
    <province>
        <name>黑龙江</name>
        <cities>
            <city>哈尔滨</city>
            <city>大庆</city>
        </cities>
    </province>
    <province>
        <name>广东</name>
        <cities>
            <city>广州</city>
            <city>深圳</city>
            <city>珠海</city>
        </cities>
    </province>
    <province>
        <name>台湾</name>
        <cities>
            <city>台北</city>
            <city>高雄</city>
        </cities>
    </province>
    <province>
        <name>新疆</name>
        <cities>
            <city>乌鲁木齐</city>
        </cities>
    </province>
</country>

用JSON表示如下:

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

优势:

1.语法格式简单
2.层次结构清晰更容易阅读
3.数据交换方面,节约传输数据所占用的带宽