JSON 基础与数据解析
什么是 JSON
JSON 全称是 JavaScript Object Notation,是一种轻量级的数据交换格式。它的存在是为了方便数据交互,因此 JSON 数据一定是一个对象。与 JavaScript 中的对象不同,JSON 中的对象不能包含方法。
JSON 常用方法
在使用 JSON 进行数据交互时,通常会用到以下两个方法:
JSON.stringify()
:将 JavaScript 对象转换为 JSON 字符串。
JSON.parse()
:将 JSON 字符串转换为 JavaScript 对象。
详细用法可参考以下链接: JSON.stringify() - JavaScript | MDN JSON.parse() - JavaScript | MDN
三大数据类型
在数据交互过程中,通常会涉及到三大类型的数据:
- 标量(scalar):包括字符串和数字
- 序列(sequence):包括数组和列表
- 映射(mapping):键值对
JSON 对象的格式
一个标准的 JSON 对象应该满足以下格式:
- 键名和键值必须用双引号
""
包裹 - 键值对之间用冒号
:
隔开 - 并列的数据之间用逗号
,
隔开 - 映射的集合用大括号
{}
包裹 - 并列数据的集合用中括号
[]
包裹
下面是一个符合 JSON 格式的对象示例
{
"name": "Tom",
"age": 18,
"hobbies": ["football", "basketball"],
"scores": {
"math": 90,
"english": 85
}
}
为什么 JSON 会取代 XML
在早期的 Web 开发中,XML 曾是数据交互的主流格式。但是随着 JSON 的出现,它逐渐取代了 XML 的地位。主要原因有以下几点:
- XML 数据文档通常很大,传输效率低
- XML 的解析比较复杂,开发成本高
- XML 的可读性较差,不易读写
相比之下,JSON 具有体积小、解析方便、可读性强等优点,因此成为了当前最流行的数据交互格式。
AJAX 初识
AJAX 全称 Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页内容的技术。它的出现大大提高了 Web 应用的性能和用户体验。
在 AJAX 中,JSON 通常作为数据响应的格式。当我们发送一个 AJAX 请求时,服务器返回的就是一段 JSON 字符串,然后我们再通过JSON.parse()
方法将其解析为 JavaScript 对象,从而实现数据的展示和交互。
下面是一个使用 jQuery 发送 AJAX 请求并处理 JSON 响应的简单示例
$.ajax({
url: '/api/data',
type: 'GET',
dataType: 'json',
success: function (res) {
console.log(res.data);
},
error: function (err) {
console.error(err);
},
});