JSON
学习网站:w3school
JSON 简介
JSON: JavaScript Object Notation(JavaScript 对象标记法)。
JSON 是一种轻量级的数据交换格式,具有自我描述性且易于理解。
JSON 是通过 JavaScript 对象标记法书写的文本,它能够轻松地在服务器浏览器之间传输,并用作任何编程语言的数据格式。
交换数据:
JavaScript 对象 —— 浏览器 —— JSON(文本)—— 服务器
JSON 语法
JSON 语法是 JavaScript 语法的子集。
JSON 语法规则
JSON 语法衍生于 JavaScript 对象标记法语法:
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号容纳对象
- 方括号容纳数组
JSON 数据- 名称和值
JSON 名称需要双引号。而 JavaScript 名称不需要。
在 JSON 中,键必须是字符串,由双引号包围,字符串值必须由双引号编写:
JSON
{ "name":"Bill Gates" }
在 JavaScript 中,键可以是字符串、数字或标识符名称,您可以书写使用双引号或单引号的字符串值:
JavaScript
{ name:'Bill Gates' }
JSON 文件
- JSON 文件的文件类型是 “.json”
- JSON 文本的 MIME 类型是 “application/json”
JSON vs XML
JSON 比 XML 更好
- XML 比 JSON 更难解析。
- JSON 被解析为可供使用的 JavaScript 对象。
JSON 数据类型
有效的数据类型
JSON 的值不可以是以下数据类型之一:
- 函数
- 日期
- undefined
JSON 中的字符串必须用双引号包围。
JSON 中的数字必须是整数或浮点数。
JSON.parse()
JSON 的常规用途是同 web 服务器进行数据传输。在从 web 服务器接收数据时,数据永远是字符串。
通过 JSON.parse() 解析数据,这些数据会成为 JavaScript 对象。
请想象一下我们从 web 服务器接收到这段文本:
'{ "name":"Bill Gates", "age":62, "city":"Seattle"}'
请使用 JavaScript 函数 JSON.parse() 把文本转换为 JavaScript 对象:
var obj = JSON.parse('{ "name":"Bill Gates", "age":62, "city":"Seattle"}');
JSON.stringify()
通过 JSON.stringify() 把 JavaScript 对象转换为字符串。
想象一下我们在 JavaScript 中有这个对象:
var obj = { name:"Bill Gates", age:62, city:"Seattle"};
请使用 JavaScript 函数 JSON.stringify() 将它转换为字符串。
var myJSON = JSON.stringify(obj);
复习:
遍历对象
您能够通过使用 for-in 遍历对象属性:
实例
myObj = { "name":"Bill Gates", "age":62, "car":null };
for (x in myObj) {
document.getElementById("demo").innerHTML += x;
}
在 for-in 循环中,请使用括号标记法来访问属性值:
实例
myObj = { "name":"Bill Gates", "age":62, "car":null };
for (x in myObj) {
document.getElementById("demo").innerHTML += myObj[x];
}
JSONP
JSONP 是一种无需考虑跨域问题即可传送 JSON 数据的方法。JSONP 不使用 XMLHttpRequest 对象。
JSONP 使用
SONP 简介
JSONP 指的是 JSON with Padding。
从另一个域请求文件会引起问题,由于跨域政策。
从另一个域请求外部脚本没有这个问题。
JSONP 利用了这个优势,并使用 script 标签替代 XMLHttpRequest 对象。
<script src="demo_jsonp.php">
jQuery
jQuery 是一个 JavaScript 库。jQuery 极大地简化了 JavaScript 编程。jQuery 很容易学习。
晕了,看完js才发现还有简单的库,qswl
找机会学了吧~