介面測試06--瞭解JSON語法
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的型別是字串,字典的型別就是字典