JSON 对象学习笔记

什么是 JSON?

JSON 是 JavaScript Object Notation 的缩写,它是一种轻量级的数据交换格式。它基于 JavaScript 语言的一个子集,但 JSON 格式可以使用在许多其他编程语言中。

JSON 格式非常易于阅读和编写,并且由于其轻量级,可以很容易地在网络上进行传输。

JSON 语法

JSON 语法是一个键值对的形式,其中键必须是字符串类型,值可以是任何类型。

jsonCopy Code
{ "name": "John Smith", "age": 30, "isMarried": false, "hobbies": ["reading", "music", "sports"], "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" } }

可以看到,这个 JSON 对象包含了一个字符串类型的 name 键、一个整型的 age 键、一个布尔类型的 isMarried 键、一个数组类型的 hobbies 键、以及一个嵌套的对象类型的 address 键。

如何解析 JSON 对象

几乎所有现代编程语言都支持解析 JSON 字符串为对象。例如,在 JavaScript 中,我们可以使用 JSON.parse() 方法将一个 JSON 字符串转换为 JavaScript 对象。

jsCopy Code
const jsonString = '{"name": "John Smith", "age": 30}'; const obj = JSON.parse(jsonString); console.log(obj.name); // 输出 "John Smith" console.log(obj.age); // 输出 30

在 Python 中,同样可以使用 json.loads() 方法将一个 JSON 字符串解析为 Python 对象。

pythonCopy Code
import json jsonString = '{"name": "John Smith", "age": 30}' obj = json.loads(jsonString) print(obj["name"]) # 输出 "John Smith" print(obj["age"]) # 输出 30

JSON 的应用

JSON 格式非常适合用于传输数据,在前后端分离的 Web 应用中也经常使用 JSON 作为数据格式进行交互。例如,在一个电商网站中,前端可以通过 AJAX 请求获取商品列表,服务器返回一个 JSON 格式的字符串,前端再将其解析成对象,然后使用 JavaScript 动态生成页面。

jsonCopy Code
{ "goods_list": [ { "id": 1, "name": "iPhone 12", "price": 7999, "description": "A14 仿生芯片,5G 极速网络", "image_url": "https://example.com/iphone_12.jpg" }, { "id": 2, "name": "iPad Pro", "price": 8999, "description": "M1 芯片,Mini LED 屏幕", "image_url": "https://example.com/ipad_pro.jpg" } ] }

以上是一个电商网站返回的商品列表数据,其中包含了商品的 ID、名称、价格、描述和图片地址等信息。当用户请求获取商品列表时,服务器将这个数据以 JSON 格式返回,前端再将其解析成对象,然后使用 JavaScript 动态生成页面,从而实现了动态渲染页面的效果。