在AJAX實現前后台數據交互的時候,通常使用JSON的數據格式,對於JSON來說,有嚴格的代碼規范,一旦格式出問題,就無法顯示出相應效果,同時還不在控制台報錯。那么JSON的書寫有哪些規范。
JSON是什么?
在前后台的交互中,通常要互相傳遞消息,那就需要一種兩方面都能“聽懂的語言”,數據格式這里就代表語言。JSON就是前后台中都能理解的一種“語言”。
JSON的類型
JSON也有不同的組織形式,一種是JSON對象,一種為JSON數組。因此,在書寫的代碼當中,需要遵循基本的對象、數組的書寫方式。
1.數組方式
1 [{ 2 "city" : "BeiJing", 3 "num" : 5 4 }, { 5 "city" : "ShenZhen", 6 "num" : 5 7 }, { 8 "city" : "XiaMen", 9 "num" : 5 10 }]
2.對象方式
1 { 2 "user" : "ZhangSan", 3 4 "type" : "work", 5 6 "team" : [{ 7 "city" : "BeiJing", 8 "num" : 3 9 }, { 10 "city" : "GuangZhou", 11 "num" : 3 12 }, { 13 "city" : "ShangHai", 14 "num" : 3 15 }] 16 }
書寫JSON的注意事項
1. 數組或對象之中的字符串必須使用雙引號,不能使用單引號
{'user' : 'zhangsan'}//不合法
{"user": 'zhangsan'}//不合法
2. 對象的成員名稱必須使用雙引號
{"user" : "zhangsan"}//合法
3. 數組或對象最后一個成員的后面,不能加逗號
1 [{ 2 "city" : "BeiJing", 3 "num" : 5,//不合法 4 }, { 5 "city" : "ShenZhen", 6 "num" : 5,//不合法 7 }]
4. 數組或對象的每個成員的值,可以是簡單值,也可以是復合值。簡單值分為四種:字符串、數值(必須以十進制表示)、布爾值和null(NaN, Infinity, -Infinity和undefined都會被轉為null)。復合值分為兩種:符合JSON格式的對象和符合JSON格式的數組。
{"age" : ox16}//不合法,數值必須是十進制的
{"city" : undefined}//使用undefined,不合法
1 {"city" : null, 2 "getcity": function() { 3 console.log("錯誤用法"); 4 }}//JSON中不能使用自定義函數或系統內置函數(如Date())
