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