对象——>json字符串
- JSON.stringify()
console.log(JSON.stringify({ x: 5, y: 6 }));
// expected output: "{"x":5,"y":6}"
console.log(JSON.stringify([new Number(3), new String('false'), new Boolean(false)]));
// expected output: "[3,"false",false]"
console.log(JSON.stringify({ x: [10, undefined, function(){}, Symbol('')] }));
// expected output: "{"x":[10,null,null,null]}"
console.log(JSON.stringify(new Date(2006, 0, 2, 15, 4, 5)));
- JSON.parse()
解析json字符串成对象
const json = '{"result":true, "count":42}'; //注意:json是被单引号套住的,每个key都被双引号套住,严格遵守JSON规范
const obj = JSON.parse(json); //eval("("+json+")")同JSON.parse() ,可将字符串解析成对象,但不建议使用,隐患较多
console.log(obj.count);
// expected output: 42
console.log(obj.result);
// expected output: true
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null
- so,JSON.parse(JSON.stringify(obj))可以实现深拷贝
网友评论