ES6中的json字符串
拥有特殊格式的字符串
用于描述对象或者数组的字符串
【作用】:主要用于前后端交互。
JSON语法
{}表示对象;
[]表示数组;
键与值之间用:分割;
属性之间用,分割;
属性名必须用双引号;
值可以是字符串,数字,布尔值,null,对象,数组,不能是NaN;
最后一个不能是逗号;
JSON与对象之间的转换
JSON字符串转转对象
Json.parse(字符串)会返回转换好的JS对象。
let a = `{"name":"zhangsang","age":20}`;
let d = JSON.parse(a)
console.log(d);对象与JSON字符串转换
JSON.stringify() 用于将一个值转为JSON字符串。
转换时,对象的函数会被过滤掉
//这个里面加载着函数。
let p = {name:"赵七",age:30,eat(){
console.log("吃吃吃");
}};
//转换的时候会把对象中的函数过滤掉
let s = JSON.stringify(p)
console.log(s);
//结果如下
// '{"name":"赵七","age":30}'浅拷贝
let p1 = {};
for (const key in p) {
p1[key] = p[key];
}
console.log(p1);深拷贝
- 深拷贝:可以先讲对象转为json字符串,再转回对象。
let p = {
name: "芜湖大司马",
age: 35,
friend: [{
name: "pdd",
age: 30
}, {
name: "茄子",
age: 30
}]
};
//将对象转换为json字符串
let s = JSON.stringify(p);
//再将json字符串转换为对象,
let p1 = JSON.parse(s);
//就形成了深拷贝
console.log(p1);
//此时是不相等的
console.log(p1.friend == p.friend);版权声明:本文为m0_60585777原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。