10. JavaScript学习笔记——JSON

10. JSON

 1   ///【JSON是一种数据格式,不是JS 独有的】
 2   ///【JSON语法】
 3   /*
 4   1.数据书写格式:"name":value,JSON要求给属性名加上【双引号】,JSON不能用单引号
 5   2.JSON值可以是:数字(整数、浮点数),字符串,布尔值(true false),数组,对象,null,注意没有undefined
 6   3.数据由逗号分隔
 7   4.大括号保存对象
 8   5.中括号保存数组
 9   */
10   {
11       "bool":false,
12       "str":"string",
13       "num":12.3,
14       "null":null,
15       "arr":[1,"b",true],
16       "obj":{   //数组、对象可以任意嵌套
17           "a1":[1,2,3],
18           "a2":false
19       }
20   }
21 22 23   ///【JSON对象】
24   //访问对象
25   alert(Jobj.name);//通过点
26   alert(Jobj["name"]);//通过[],同时这两种方法也可以修改
27 28   //循环对象
29   for(x in Jobj){
30       console.log(x);//注意循环出的是JSON的属性名
31   }
32   for(x in Jobj){
33       console.log(Jobj[x]);//通过索引来访问属性值,循环中不能通过 . 来获取属性值
34   }
35 36   //删除对象属性
37   delete Jobj.name
38   delete Jobj["name"]
39 40   //JSON对象与JSON字符串
41   var str = '{"name":"bin","age":20}';
42   var obj = {"name":"bin","age":20};
43 44 45   ///【解析与序列化】
46   //【JSON.parse()】
47   //JSON通常用于与服务端交换数据,接收到的服务端数据一般是字符串,可以使用JSON.parse()方法将其转换为JS对象
48   JSON.parse(text[,reviver]);//text是JSON字符串,reviver可选,为对象的每个成员调用此函数function(key,value){...return}
49 50   //【JSON.stringify()】
51   //向服务器发送数据时一般是字符串,用JSON.stringify()将JSON对象转换为字符串
52   JSON.stringify(value,[,replacer[,space]]);//value是JSON对象,replacer function(key,value){...return}
53 54   //【序列化选项】
55   //JSON.stringify()还可以接收另外两个参数,第一个参数是过滤器,可以是一个数组,也可以是一个函数;第二个参数是缩进选项。
56   //过滤结果
57   var book = {
58       "title":"book1",
59       year:2012,
60       edition:3
61   }
62   var jsonText = JSON.stringify(book,["title"]) //只保留数组内给定的属性
63   alert(jsonText)//{"title":"book1"}
64 65   //函数形式
66   //该函数接收两个参数,分别是键和值,然后根据键值判断,如果返回值为 undefined,则响应的属性会被删除
67   var jsonText = JSON.stringify(book,function(key,value){
68       switch(key){
69           case "title":
70               return value;
71           case "year":
72               return value+5;
73           default: //必须加这个,必须返回value
74               return value;
75       }
76   })
77 78 79   //【字符串缩进】
80   //增加可读性
81   var jsonText = JSON.stringify(book,null,4)//缩进四个空格

 

猜你喜欢

转载自www.cnblogs.com/bin21st/p/9703851.html