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 Codeconst 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 Codeimport 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 动态生成页面,从而实现了动态渲染页面的效果。