跳到主要内容

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

三大数据类型

在数据交互过程中,通常会涉及到三大类型的数据:

  1. 标量(scalar):包括字符串和数字
  2. 序列(sequence):包括数组和列表
  3. 映射(mapping):键值对

JSON 对象的格式

一个标准的 JSON 对象应该满足以下格式:

  1. 键名和键值必须用双引号""包裹
  2. 键值对之间用冒号:隔开
  3. 并列的数据之间用逗号,隔开
  4. 映射的集合用大括号{}包裹
  5. 并列数据的集合用中括号[]包裹

下面是一个符合 JSON 格式的对象示例

{
"name": "Tom",
"age": 18,
"hobbies": ["football", "basketball"],
"scores": {
"math": 90,
"english": 85
}
}

为什么 JSON 会取代 XML

在早期的 Web 开发中,XML 曾是数据交互的主流格式。但是随着 JSON 的出现,它逐渐取代了 XML 的地位。主要原因有以下几点:

  1. XML 数据文档通常很大,传输效率低
  2. XML 的解析比较复杂,开发成本高
  3. 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);
},
});