JSON(深入)

 1 // JSON 是js的内置对象,主要操作json数据。
 2 // 网络传输数据应用层都是字符串格式。
 3 // 最早网络数据传输流行的格式是XML:  <name>222</name><age>22</age>
 4 // json 数据:  '{"name":222,"age":22}',现在都是用json传输数据。
 5 // json 格式数据的规定:
 6 // 1. 对象的健名必须放在双""里面
 7 // 2. 数组或者对象的最后一个成员后面不能加逗号,
 8 // 3. 字符串必须用双引号表示。
 9 // 4. 复合类型(引用数据类型)的值只能是数组或者对象.
10 // 5. 原始数据类型: 字符串,数值(只能用10进制表示),布尔值,null。不能用NaN,undefind,Infinity
11 
12 var objStr = '{ "a": 1, "b": "2", "c": null, "usr": [1, 23, 4, 5, { "name": "lyz", "age": 20 }] }';// 符合json规范的js对象,加''变成字符串,就是一个json数据。
13 
14 
15 var arr = '["a1","b1",{"name":"zhangsan","age":12}]' // 符合json规范的js数组,''变成字符串,就是一个json数据。
16 
17 
18 //一、JSON。stringify:js对象转json字符串(json的序列化)
19 var son = {
20     name: 'lyz',
21     age: 18,
22     family: {
23     address: "aaa",
24     phone: 131111111
25     },
26     ss: undefined,
27     aa: function () { }
28 
29 
30 }
31 
32 var json = JSON.stringify(son)
33 console.log(json, typeof (json));
34 
35 //二、JSON.parse():JSON数据转换成js对象(json的反序列化)
36 var obj = JSON.parse(json)
37 console.log(obj, typeof (obj));
38 
39 
40 
41 //三、数据的深拷贝,该方法会把非json格式的格式属性丢掉
42 var copySon = JSON.parse(JSON.stringify(son)) 
43 console.log(copySon===son,copySon);//false {name: "lyz", age: 18, family: {…}}

 

posted @ 2022-08-19 22:56  YBYZ  阅读(42)  评论(0)    收藏  举报