7.json.html 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <!--
  10. JSON => JavaScript Object Natation
  11. 对象 表示 数据结构
  12. -->
  13. <script>
  14. // js对象
  15. var obj = {
  16. name: "zs"
  17. }
  18. /** json 对象
  19. * var xxx = '{"属性名":"属性值"}'
  20. * 注意:"单引号" 包含 "双引号"
  21. */
  22. var obj1 ='{"name":"ls"}';
  23. console.log(obj,'3');
  24. console.log(obj1);
  25. var list = [
  26. {name:'a',id:1},
  27. {name:'ab',id:2},
  28. {name:'abc',id:3}
  29. ]
  30. // 数组包对象
  31. var newList = '[{"name":"a","address":"哈尔滨"},{"name":"b","address":"北京"},{"name":"c","address":"天津"}]'
  32. console.log(newList,'1');
  33. // 将JSON对象转成JS对象JSON.parse()
  34. var news = JSON.parse(newList);
  35. console.log(news,'2');
  36. // 将JS对象转成JSON对象 JSON.stringify()
  37. var obj2 = JSON.stringify(obj);
  38. console.log(obj2,'4')
  39. /**
  40. * 堆:引用数据类型
  41. * 栈:基本数据类型 引用数据类型指针
  42. */
  43. // 深拷贝、深克隆:将一个变量的值赋给另一个变量 修改其中一个变量 原有的变量不发生改变
  44. var obj3;
  45. obj3 = obj1;
  46. obj3 = '{"name":"w5"}';
  47. console.log(obj1,'obj1');
  48. console.log(obj3,'obj3');
  49. // 浅拷贝、浅克隆:将一个变量的值赋给另一个变量 修改其中一个变量 原有的变量发生改变
  50. var obj4;
  51. obj4 = obj;
  52. obj4.name = 'z6'
  53. console.log(obj,'obj');
  54. console.log(obj4,'obj4');
  55. var person = {
  56. name: '小明',
  57. age: 18
  58. }
  59. var person1 = JSON.stringify(person);
  60. var person2;
  61. person2 = person1;
  62. //person2.name = "LiLi"
  63. person2 = '{"name":"LiLi","age":28}';
  64. console.log(person1,'person1');
  65. console.log(person2,'person2');
  66. </script>
  67. </body>
  68. </html>