字典:
字典是一種數(shù)據(jù)結(jié)構(gòu):比如python中所述的列表list,元組tuple,集合set。
區(qū)別總結(jié):
定義上:字典是一種數(shù)據(jù)結(jié)構(gòu);
json是一種數(shù)據(jù)的表現(xiàn)形式,一種數(shù)據(jù)格式。
寫法上:字典中的鍵key,只要是hashable的數(shù)據(jù)類型即可;但是json的鍵key(屬性名稱),必須是用雙引號(hào)引起來(lái)的字符串。
關(guān)于-hashable的數(shù)據(jù)類型-,簡(jiǎn)單理解,就是不可變的數(shù)據(jù)類型;所以在字典中的鍵,可以是元組或者字符串等不可變的數(shù)據(jù)類型。
json是一種數(shù)據(jù)的表現(xiàn)形式,是一種數(shù)據(jù)格式:比如在ajax中的數(shù)據(jù)接收類型,一般都是json類型的數(shù)據(jù)格式,也會(huì)有txt的數(shù)據(jù)格式;json是字符串的一種格式,本質(zhì)上還是字符串;
如下代碼所示:
$.ajax({
url:'/change_data',
type:'GET',
dataType:'json',//json為接收服務(wù)器返回的數(shù)據(jù)類型
data:{'code':300268}
success:function(dat){
alert(dat.name);
},
error:function(){
alert('服務(wù)器超時(shí),請(qǐng)重試!');
}
});
json的含義與鍵值的寫法:
json是【JavaScriptObjectNotation】的首字母縮寫,字面的意思是【javascript對(duì)象表示法】,這里說(shuō)的json指的是類似于javascript對(duì)象的一種數(shù)據(jù)格式對(duì)象,目前這種數(shù)據(jù)格式比較流行,逐漸替換掉了傳統(tǒng)的xml數(shù)據(jù)格式。
json數(shù)據(jù)對(duì)象類似于JavaScript中的對(duì)象,但是它的鍵對(duì)應(yīng)的值里面是沒(méi)有函數(shù)方法的,值可以是普通變量,不支持undefined,值還可以是數(shù)組或者json對(duì)象。
與JavaScript對(duì)象寫法不同的是,json對(duì)象的屬性名稱和字符串值需要用雙引號(hào)引起來(lái),用單引號(hào)或者不用引號(hào)會(huì)導(dǎo)致讀取數(shù)據(jù)錯(cuò)誤。
json格式的數(shù)據(jù):
{
“name”:“tom”,
“age”:18
}
json的另外一個(gè)數(shù)據(jù)格式是數(shù)組,和javascript中的數(shù)組字面量相同。
[“tom”,18,“programmer”]
還可以是更復(fù)雜的數(shù)據(jù)機(jī)構(gòu):包括普通變量,數(shù)組,json對(duì)象:
{
“name”:“jack”,
“age”:29,
“hobby”:[“reading”,“travel”,“photography”]
“school”:{
“name”:“MerrimackCollege”,
“l(fā)ocation”:‘NorthAndover,MA’
}}
以上內(nèi)容為大家介紹了python培訓(xùn)之dict和json的區(qū)別是什么,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。