Jvavscript- 跟着李南江学编程

JSON: JavaScript Object Notation(JavaScript 对象标记法)。

JSON 是一种存储和交换数据的语法。

JSON 是通过 JavaScript 对象标记法书写的文本。

交换数据
当数据在浏览器与服务器之间进行交换时,这些数据只能是文本。

JSON 属于文本,并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。

我们也能把从服务器接收到的任何 JSON 转换为 JavaScript 对象。

以这样的方式,我们能够把数据作为 JavaScript 对象来处理,无需复杂的解析和转译。

发送数据
如果您的数据存储在 JavaScript 对象中,您可以把该对象转换为 JSON,然后将其发送到服务器。

实例
var myObj = { name:“Bill Gates”, age:62, city:“Seattle” };
var myJSON = JSON.stringify(myObj);
window.location = “demo_json.php?x=” + myJSON;
亲自试一试
您将在本教程稍后的章节学到更多有关 JSON.stringify() 函数的知识。

接收数据
如果您以 JSON 格式接收到数据,您能够将其转换为 JavaScript 对象:

实例
var myJSON = ‘{ “name”:“Bill Gates”, “age”:62, “city”:“Seattle” }’;
var myObj = JSON.parse(myJSON);
document.getElementById(“demo”).innerHTML = myObj.name;
亲自试一试
您将在本教程稍后的章节学到更多有关 JSON.parse() 函数的知识。

存储数据
在存储数据时,数据必须是某种具体的格式,并且无论您选择在何处存储它,文本永远是合法格式之一。

JSON 让 JavaScript 对象存储为文本成为可能。

实例
把数据存储在本地存储中

//存储数据:
myObj = { name:“Bill Gates”, age:62, city:“Seattle” };
myJSON = JSON.stringify(myObj);
localStorage.setItem(“testJSON”, myJSON);

//接收数据:
text = localStorage.getItem(“testJSON”);
obj = JSON.parse(text);
document.getElementById(“demo”).innerHTML = obj.name;
亲自试一试
什么是 JSON?
JSON 指的是 JavaScript 对象标记法(JavaScript Object Notation)
JSON 是一种轻量级的数据交换格式
JSON 具有自我描述性且易于理解
JSON 独立于语言*
*

JSON 使用 JavaScript 语法,但是 JSON 格式是纯文本的。

文本可被任何编程语言作为数据来读取和使用。

JSON 格式最初由 Douglas Crockford 提出。

JSON 语法规则
JSON 语法衍生于 JavaScript 对象标记法语法:

数据在名称/值对中
数据由逗号分隔
花括号容纳对象
方括号容纳数组
JSON 数据- 名称和值
JSON 数据写为名称/值对。

名称/值由字段名称构成,后跟冒号和值:

实例
“name”:“Bill Gates”
JSON 名称需要双引号。而 JavaScript 名称不需要。

JSON – 求值为 JavaScript 对象

JSON 格式几乎等同于 JavaScript 对象。

在 JSON 中,键必须是字符串,由双引号包围:

JSON
{ “name”:“Bill Gates” }
在 JavaScript 中,键可以是字符串、数字或标识符名称:

JavaScript
{ name:“Bill Gates” }
JSON 值
在 JSON 中,值必须是以下数据类型之一:

字符串
数字
对象(JSON 对象)
数组
布尔
null
在 JavaScript 中,以上所列均可为值,外加其他有效的 JavaScript 表达式,包括:

函数
日期
undefined
在 JSON 中,字符串值必须由双引号编写:

JSON
{ “name”:“Bill Gates” }
在 JavaScript 中,您可以书写使用双引号或单引号的字符串值:

JavaScript
{ name:‘Bill Gates’ }
JSON 使用 JavaScript 语法
因为 JSON 语法由 JavaScript 对象标记法衍生而来,所以很少需要其他额外的软件来处理 JavaScript 中的 JSON。

通过 JavaScript,您能够创建对象并向其分配数据,就像这样:

实例
var person = { name : “Bill Gates”, age : 62, city : “Seattle” };
您能够像这样访问 JavaScript 对象:

实例
// 返回 Bill Gates
person.name;
亲自试一试
也可以像这样访问它:

实例
// 返回 Bill Gates
person[“name”];
亲自试一试
可以像这样修改数据:

实例
person.name = “Steve Jobs”;
亲自试一试
也可以像这样修改它:

实例
person[“name”] = “Steve Jobs”;
亲自试一试
稍后,您将在本教程学到如何把 JavaScript 对象转换为 JSON。

JavaScript 数组用作 JSON
与将 JavaScript 对象用作 JSON 相同,JavaScript 数组也可以用作 JSON。

您将在本教程稍后学到更多有关 JSON 数组的知识。

JSON 和 XML 均可用于从 web 服务器接收数据。

下面的 JSON 和 XML 实例都定义了雇员对象,包含了由 3 个雇员构成的数组:

JSON 实例
{“employees”:[
{ “firstName”:“Bill”, “lastName”:“Gates” },
{ “firstName”:“Steve”, “lastName”:“Jobs” },
{ “firstName”:“Elon”, “lastName”:“Musk” }
]}
XML 实例


Bill
Gates


Steve
Jobs


Elon
Musk


JSON 类似 XML,因为:
JSON 和 XML 都是“自描述的”(人类可读的)
JSON 和 XML 都是分级的(值中有值)
JSON 和 XML 都能被大量编程语言解析和使用
JSON 和 XML 都能被 XMLHttpRequest 读取
JSON 与 XML 的差异在于:
JSON 不使用标签
JSON 更短
JSON 的读写速度更快
JSON 可使用数组
最大的不同在于:

XML 必须使用 XML 解析器进行解析。而 JSON 可通过标准的 JavaScript 函数进行解析。

为什么 JSON 比 XML 更好?
XML 比 JSON 更难解析。
JSON 被解析为可供使用的 JavaScript 对象。
对于 AJAX 应用程序,JSON 比 XML 更快更易用:

使用 XML

读取 XML 文档
使用 XML DOM 遍历文档
提取变量中存储的值
使用 JSON

读取 JSON 字符串
JSON.Parse JSON 字符串

我正在跟着江哥学编程, 更多前端+区块链课程: www.it666.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值