json和python中的字典的區別與聯絡
json:
json是一種資料的表現形式,是一種資料格式:比如在ajax中的資料接收型別,一般都是json型別的資料格式,也會有txt的資料格式;如下程式碼所示:
$.ajax({ url: '/change_data', type: 'GET', dataType: 'json', // json 為接收伺服器返回的資料型別 data:{'code':300268} success:function(dat){ alert(dat.name); }, error:function(){ alert('伺服器超時,請重試!'); } });
json的含義與鍵值的寫法:
json是 【JavaScript Object Notation】 的首字母縮寫,字面的意思是【javascript物件表示法】,這裡說的json指的是類似於javascript物件的一種資料格式物件,目前這種資料格式比較流行,逐漸替換掉了傳統的xml資料格式。
json資料物件類似於JavaScript中的物件,但是它的鍵對應的值裡面是沒有函式方法的,值可以是普通變數,不支援undefined,值還可以是陣列或者json物件。
與JavaScript物件寫法不同的是,json物件的屬性名稱和字串值需要用雙引號引起來,用單引號或者不用引號會導致讀取資料錯誤。
- json格式的資料:
{ “name”:“tom”, “age”:18 }
-
json的另外一個數據格式是陣列,和javascript中的陣列字面量相同。 [“tom”,18,“programmer”]
-
還可以是更復雜的資料機構:包括普通變數,陣列,json物件:
{ “name”:“jack”, “age”:29, “hobby”:[“reading”,“travel”,“photography”] “school”:{ “name”:“Merrimack College”, “location”:‘North Andover, MA’ } }
字典:
區別總結:
定義上:字典是一種資料結構; json
寫法上:字典中的鍵key,只要是hashable的資料型別即可;但是json的鍵key(屬性名稱),必須是用雙引號引起來的字串。
關於 -hashable的資料型別-,簡單理解,就是不可變的資料型別;所以在字典中的鍵,可以是元組或者字串等不可變的資料型別。