JSON
JSON全程為JAVAScript object Notation,指的是javascript對象表示法
JSON采用完全獨立於編程語言的文本格式來存儲、表示和交換數據
JSON是一種輕量級的數據交換格式,易於閱讀和編寫,同時也易於機器解析和生成,並有效的提升網絡傳輸效率
JSON語法規則
JSON語法是javascript對象表示語法的子集
大括號保存對象
數據以"名值"對(“鍵值”對)表示
數據之間由逗號分隔
中括號保存數組
{
"name":"網站",
"num":3,
"sites":["tedu","Google","Taobao"]
}
JSON有時候也叫JSON字典,左邊是詞,右邊解釋,專業講左邊是存儲數據的變量名,叫鍵,右邊是數值,叫值
JSON數據的書寫格式是:鍵值對(左邊是詞,右邊是解釋,專業講左邊是存儲數據的變量名,叫鍵,右邊是數值,叫值),鍵值之間必須用英文冒號間隔,鍵必須是字符串(放在雙引號中),值是字符串或文字以及日期時間必須加雙引號,數字類型不加引號
JSON的數據類型
字符串、數字、邏輯值(true或false)、NULL、對象(在大括號中)、數組(在括號中)
{
"name":"Tom",
"age":20,
"salary":4567.78,
"member":true,
"other":null
}
JSON對象
JSON對象在大括號{}中書寫
對象可以包含多個鍵值對
每個鍵值對使用逗號,分隔
{
"name":"Tom",
"age":20,
"salary":4567.78,
"member":true,
"other":null
}
JSON對象嵌套
JSON對象中可以包含另一個JSON對象
{
"name":"runbo",
"alexa":1000,
"sties":{
"site1":"www.baidu.com",
"site2":"www.tmooc.cn"
}
}
JSON數組
JSON數組在中括號[]中書寫
JSON中數組值必須是合法的JSON數據類型
JSON數組可以包含數組,或者包含JSON對象
{
"name":"網站",
"num":3,
"sites":["tedu","Google"]
}
JSON對象中也可以書寫數組
例如:[數據1,數據2,數據3.....],數組中也可以繼續寫JSON對象和數組,但是最外邊一般都是{},並{}不能省略
JSON與python字典區別
1.JSON和字典非常類似,都是鍵值對(key-value)的形式,而且JSON、字典也可以非常方便的通過dumps、loads互轉
JSON是一種數據格式,純字符串
字典是一個完整的數據結構
2.JSON的鍵只能是字符串,字典可以是任何的hash對象(hashtable type)
3.JSON的鍵可以有序、重復的。字典的鍵是不可以重復的。
4.JSON的值只能是字符串、浮點數、布爾值、null,數組、對象
5.JSON任意鍵存在默認值undefined,字典默認是沒有默認值
6.JSON訪問方式可以是[],也可以是.,遍歷方式分為in、of。字典的values僅可以下標訪問
7.JSON的字符串必須是雙引號,字典里可以是單引號、雙引號
8.字典可以嵌套元祖類型,JSON里只有數組類型
9.JSON:true、false、null
字典 : True、False、None
10.JSON中文必須是unicode編碼,如:"\u6211"
11.JSON的類型是字符串,字典的類型就是字典