📅  最后修改于: 2023-12-03 14:42:40.104000             🧑  作者: Mango
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。在JavaScript中,我们可以使用JSON来序列化和反序列化数据。
JSON的语法与JavaScript对象字面量的语法非常相似。下面是一个JSON对象的例子:
{
"name": "John",
"age": 30,
"city": "New York"
}
JSON对象由花括号包围,并由逗号分隔的键值对组成。每个键值对由一个key和一个value组成,中间用冒号分隔。字符串值必须使用双引号引起来。
JavaScript提供了两个内置函数JSON.stringify()
和 JSON.parse()
来序列化和反序列化JSON数据。
JSON.stringify()
函数将JavaScript对象转换为JSON字符串:
const obj = { name: "John", age: 30, city: "New York" };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // {"name":"John","age":30,"city":"New York"}
JSON.parse()
函数将JSON字符串转换为JavaScript对象:
const jsonString = '{"name":"John","age":30,"city":"New York"}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // John
console.log(obj.age); // 30
console.log(obj.city); // New York
JSON对象允许嵌套其他JSON对象或数组:
{
"name": "John",
"age": 30,
"city": "New York",
"pets": [
{ "name": "Fluffy", "species": "cat" },
{ "name": "Buddy", "species": "dog" }
],
"contact": {
"phone": "555-555-5555",
"email": "john@example.com"
}
}
在JavaScript代码中,我们可以通过点操作符或方括号操作符来访问嵌套的JSON对象或数组:
const obj = {
name: "John",
age: 30,
city: "New York",
pets: [
{ name: "Fluffy", species: "cat" },
{ name: "Buddy", species: "dog" }
],
contact: {
phone: "555-555-5555",
email: "john@example.com"
}
};
console.log(obj.pets[0].name); // Fluffy
console.log(obj.contact.phone); // 555-555-5555
JSON和XML都是用于数据传输和存储的数据格式。以下是JSON和XML的比较:
JSON.stringify()
和JSON.parse()
来序列化和反序列化JSON数据。