JSON语法
是一种轻量级的文本数据交换格式
JSON语法规则
- 数据在名称/值对中,值(value)可以是双引号括起来的字符串(string)、数值(整数或浮点数)(number)、布尔值(true、false)、 null、对象(object)或者数组(array),它们是可以无限嵌套(限制5级内,深不了解析)。
- 数据之间由逗号
,分隔 - 使用斜杆 \ 来转义字符
\\ --> \ \' --> ' \" --> " - 对象:大括号
{}保存的对象是一个无序的名称-值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号:,名称/值对使用逗号,分隔。 - 数组:中括号
[]保存的数组是值(value)的有序集合。一个数组以左中括号开始,右中括号结束,值之间使用逗号 , 分隔。
JSON对象示例
{
"name": "张三",
"age": 30,
"isEmployed": true,
"skills": ["JavaScript", "HTML", "CSS"],
"address": {
"street": "123 街道",
"city": "北京",
"zipcode": "100000"
}
}
JSON字符串示例
'{
"name": "张三",
"age": 30,
"isEmployed": true,
"skills": ["JavaScript", "HTML", "CSS"],
"address": {
"street": "123 街道",
"city": "北京",
"zipcode": "100000"
}
}'
JSON字符串中的键和字符串值都必须使用双引号。 JavaScript对象示例
let user = {
name: "张三",
age: 30,
isEmployed: true,
skills: ["JavaScript", "HTML", "CSS"],
address: {
street: "123 街道",
city: "北京",
zipcode: "100000"
}
};
在 JavaScript 对象中,键可以使用点表示法访问,常用JSON.parse将json对象转换为js对象,方便使用.访问对象,例如 user.name。
JSON字符串和JavaScript对象的转换
JSON对象有两个方法:
- stringify() :将JavaScript序列化为JSON字符串
- parse() :将JSON解析为原生JavaScript对象,注意js对象可以嵌套,嵌套的依然是js对象。
let personInfo={
name:"Surpass",
age:28,
location:"Shanghai",
from:"Wuhan",
to:"Nanjing"
};
let jsonText=JSON.stringify(personInfo);
let jsonObj=JSON.parse(jsonText);
console.log(jsonText); // {"name":"Surpass","age":28,"location":"Shanghai","from":"Wuhan","to":"Nanjing"}
console.log(jsonObj); // {name: 'Surpass', age: 28, location: 'Shanghai', from: 'Wuhan', to: 'Nanjing'}