1、json
1.JSON对象;(ES5)
1)JSON.stringify() json---js[json字符串--->JavaScript对象]
2)JSON.parse() js---json【JavaScript对象--->json字符串】
2.简写
1)(属性和值)名字一样可以简写
2)方法一样可以简写
3.语法规则
1)数据为 键/值 对
2)数据由逗号分隔
3)大括号保存对象
{JSON 对象在大括号({})中书写,对象可以包含多个名称/值对}
4)方括号保存数组
[JSON 数组在中括号中书写,数组可包含多个对象]
4.JSON 值可以是:
1)数字(整数或浮点数)
2)字符串(在双引号中)
3)逻辑值(true 或 false)
4)数组(在中括号中)
5)对象(在大括号中)
6)null
2、json的标准写法:
1.只能用双引号("");
2.所有的(属性)名字只能用双引号("")包起来;
如:
{a:12, b:3, c:'aaa'}---》Wrong!
{"a":12, "b":3, "c":'aaa'}---》Wrong!
{"a":12, "b":3, "c":"aaa"}---》Yes!
3.外面可以用单引号('')
如:
let str = '{"a":12, "b":3, "c":"aaa"}';
3、用例如下:
1. 把json变成js对象----JSON.stringify();
let jsonObj = {a:12,b:3};
let str = 'https://www.baidu.com/' + jsonObj;
alert(str);
// 输出:https://www.baidu.com/[object Object]
let jsonObj = {a:12,b:3};
let str = 'https://www.baidu.com/' + JSON.stringify(jsonObj);
alert(str);
// 输出:https://www.baidu.com/{"a":12,"b":3}
// JSON.stringify() 将一个json对象转换成普通字符串; stringify 字符串化
// 把字符串作为URI组件进行编码 encodeURIComponent
let jsonObj = {a:12,b:3};
let str = 'https://www.baidu.com/?data=' + encodeURIComponent(JSON.stringify(jsonObj));
alert(str);
// 输出:https://www.baidu.com/?data=%7B%22a%22%3A12%2C%22b%22%3A3%7D
2.把js对象变成json字符串----JSON.parse();
/*
注意:Wrong!
let str = "{a:12, b:3, c:'bbb'}";
let jsonObj = JSON.parse(str);
console.log(jsonObj);
// Wrong!
*/
let str = '{"a":12, "b":3, "c":"bbb"}';
let jsonObj = JSON.parse(str);
console.log(jsonObj);
// 输出:{a: 12, b: 3, c: "bbb"}
3.关于简写
// (属性和值)名字一样可以简写!
let a = 2, b = 3;
// let json = {a:a, b:b, c:15};
let json = {a, b, c:15};
console.log(json);
// 输出:{a: 2, b: 3, c: 15}
// 2.方法一样可以简写
let json = {
a:12,
// json中写方法:
show(){
alert(this.a);
}
};