1. 概念:
JavaScript Object Notation JavaScript对象表示法,可以让对象和字符串之间来回转化,用于数据传输,有体积小,传输快,易被解析的优点。
{"name":"张三","age":23,"gender":"男"}
2. 语法:
2.1 基本规则
键值对形式(“键”:“值”)
类型 | 格式 |
---|---|
字符串 | “” |
数字 | 整数、浮点数 |
布尔 | true、false |
空值 | null |
数组 | [] |
对象 | {} |
1.数组
//定义
var persons = [
{
"name": "wxc",
"age": 18,
"pass": true,
"isNull": null
},
{
"name": "wzl",
"age": 17,
"pass": false,
"isNull": null
},
];
//输出
for (let i = 0; i < persons.length; i++) {
console.log(persons[i])
}
/*
{name: "wxc", age: 18, pass: true, isNull: null}
{name: "wzl", age: 17, pass: false, isNull: null}
*/
- 对象
//定义
var person = {
"name": "wxc",
"age": 18,
"pass": true,
"isNull": null
};
//输出
console.log(person);//{name: "wxc", age: 18, pass: true, isNull: null}
console.log(person.name);//wxc
console.log(person.age);//18
console.log(person.pass);//true
console.log(person.isNull);//null
- 复杂类型
//理解:persons 是一个 json 对象
// personw 是一个键
//[] 是personw 的值
var persons = {
personsw:[
{name:"小w",age:11,address:"河北",gender:true},
{name:"小x",age:12,address:"北京",gender:true},
{name:"小c",age:13,address:"天津",gender:false}
]
};
2.2获取数据
1. json对象.键名
2. json对象["键名"]
3. 数组对象[索引]
4. 遍历
3. js对象与字符串之间转换
3.1 JS对象转化为字符串
var myJSON = JSON.stringify(js对象);
样例展示
//将JS对象转化为JSON字符串
var myJSON = JSON.stringify(person);
console.log(myJSON);//{"name":"wxc","age":18,"pass":true,"isNull":null}
3.2 字符串转化为JS对象
var obj = JSON.parse(JSON);
样例展示
//将JSON字符串转化为JS对象
let parse = JSON.parse(myJSON);
console.log(parse);//{name: "wxc", age: 18, pass: true, isNull: null}```