JSON介绍

312 阅读2分钟

JSON介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格局。它基于ECMAScript(基础语法)的一个子集。采用完全独立于编程语言的文本格式来存储和表示数据。使用了类似于C言语宗族的习气(包含C、C++、C#、Java、JavaScript、Perl、Python等。

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

JSON结构语法: 1. JSON 数据的书写格式是键(名称)/值对。 JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对包括字段名称(在双引号中),后面写一个冒号,然后是值。 JSON 值可以是:字符串(在双引号中)、数组(在中括号中)、数字(整数或浮点数)、逻辑值(true 或 false)、对象(在大括号中)、 null。 { }在它的两端,并与键盘值对填充空格之间。 JSON中使用的大多数数据最终都封装在JSON对象中。 键-值对它们之间有一个冒号作为"key" : "value" 。 每个键-值对用逗号分隔,所以JSON中间看起来是这样的: "key" : "value", "key" : "value", "key": "value" 。

{ 
  "first_name" : "Sammy", 
  "last_name" : "Shark", 
  "location" : "Ocean" 
}

(1)对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:

{"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}

(2)数组是由方括号括起来的一组值构成,如: [3, 1, 4, 1, 5, 9, 2, 6] (3)字符串与C或者Java的字符串非常相似。字符串是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

数字也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。一些合法的JSON的实例

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

3.14
"plain_text"

和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.数据交换方面,节约传输数据所占用的带宽