JSON 實際上是 JavaScript 的一個子集,所以JSON 的數據格式和 JavaScript 是對應的:
-
number => JS number
-
boolean => JS boolean
-
string => JS string //
-
null => JS null
-
array => JS Array 的表達方式 []
-
object => JS {} 表達式
-
注意事項
JSON 規定字符集是UTF-8,字符串必須使用"",Object 的鍵也必須使用""
數組或對象的最後一個成員,不能加 逗號 -
JS 內置兩個Json方法
JSON.stringify( {} , [ ] , “”)
//參數一 :要序列化的數據(object)
//參數二 :控制對象的鍵值,只想輸出指定的屬性,傳入一個數組
//參數三 :序列化後,打印輸出的格式(一個Tab ,可以更直觀查看json)
任何把 JavaScript 變成 Json ,就是把這個對象序列化爲Json字符串,然後纔可以通過網絡傳遞;
收到一個Json格式的字符串,
JSON.parse( json.DATA ) //傳入json字符串
如果我們收到一個JSON格式的字符串,只需要把它反序列化成一個JavaScript對象,就可以在JavaScript中直接使用這個對象了。
實例:
1.數組方式 [ ]
[{
“id” : 1 ,
“name” : “xiaoming”
},{
“id” : 2 ,
“name” : “xiaohong”
}]
2.對象方式 { }
//前後端分離,推薦後端返回給前端數據格式
{
“status” : 0 , //執行狀態碼
“msg” : “SUCCESS”, //說明文字信息,沒有爲NULL
“data” :[{ //對象中嵌套數組,數組是返回的數據,
“id” : 1 ,
“name” : “xiaohong”
},{
“id” : 2,
“name” : “xiaoming”
}]
}
3.反例
{“id” : ox16 } //不合法,數值需要是十進制
{“name” : underfined } //不合法,沒有該值
[{
“name” : NUll,
“school” : function() {
console.log(“該寫法是錯誤的”)
}//不合法
}]//json中不能使用自定義函數,或系統內置函數