<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div>
<script type="text/javascript">
// var user = {
// name: '小明',
// age: 14,
// skill: ['HTML', 'Java'],
// };
// var json = JSON.stringify(user);
// console.log(json);
// 输出:{"name":"小明","age":14,"skill":["HTML","Java"]}
// var user = {
// name: '小明',
// age: 14,
// skill: ['HTML', 'Java'],
// };
// var json = JSON.stringify(user, function (key, value) {
// console.log(key, value);
// return value;
// });
// console.log(json);
// var user = {
// name: '小明',
// age: 14,
// skill: ['HTML', 'Java'],
// };
// var json = JSON.stringify(user, function (key, value) {
// if (key === '') {
// return value;
// }
// return '我是处理过的值';
// });
// console.log(json);
// var obj = [
// {
// path: '/',
// component: 'function() {}',
// children: [
// {
// path: 'note',
// component: 'function() {}',
// },
// {
// path: 'friends',
// component: 'function() {}',
// }
// ]
// },
// {
// path: '*',
// component: 'function() {}',
// }
// ];
// var json1 = JSON.stringify(obj, null);
// var json2 = JSON.stringify(obj, null, 2);
// var json3 = JSON.stringify(obj, null, '*-*');
// console.log(json1); // 没有格式
// console.log(json2); // 使用两个空格控制的缩进
// console.log(json3); // 使用 *-* 控制的缩进
//深拷贝
// var obj = { prop: 'value' };
// var newObj = JSON.parse(JSON.stringify(obj));
// newObj.prop = 'new value';
// console.log(obj);
// console.log(newObj);
//根据结果可以看到新的对象修改,没有影响到原对象,两者之间不存在引用关系
//如果转换的对象或者对象下的属性存在 toJSON 方法,那么这个方法的返回值会作为转换结果。
// var user = {
// nickname: 'joker',
// toJSON: function () {
// return 'hahahahahahaha';
// },
// }
// var result = JSON.stringify(user);
// console.log(result); // 输出:"hahahahahahaha"
// var fn = function () { };
// fn.toJSON = function () { return '我是函数' };
// var result = JSON.stringify({
// a: fn,
// b: Symbol(1),
// c: undefined,
// d: function () { },
// });
// console.log(result);
//数组包裹的json,可以直接调用
var user = [{'name':'walter'},{'name':'lizzy'}]
console.log(user[0].name)//walter
console.log(typeof user[0]) //object
</script>
</body>
</html>