第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么json的key只能是string?

為什么json的key只能是string?

胡說叔叔 2018-08-10 11:10:39
在python中,字典的key可以是任意immutable對象,但json的key卻只能是string。在stackoverflow上搜到的相關(guān)問題,Why JSON allows only string to be a key?最佳答案是說json是為了數(shù)據(jù)在不同程序之間相互傳遞,所以string能保證不同的程序語言都能支持這種數(shù)據(jù)結(jié)構(gòu)。但我還是不明白為什么int、float之類的不行。json.dumps({1:1,2:2})'{"1": 1, "2": 2}
查看完整描述

1 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

首先JSON是Javascript的子集,而在Javascript中只有字符串、整型等5個數(shù)據(jù)類型,而后在其他編程語言中被使用,其他的語言的實現(xiàn)都是為了兼容JSON,比如Python標(biāo)準(zhǔn)庫的json模塊。詳情可以查看json 
至于JSON中為什么采用字符串作為鍵主要在于,首先需要是1個不可變的對象,因此只能是字符串、整型、浮點(diǎn)型這樣的數(shù)據(jù)類型了,而在計算機(jī)中1個整型需要占用4個字節(jié)的內(nèi)存,而字符只占用1個字節(jié)。 
另外,使用JSON主要是為了傳輸數(shù)據(jù),這個網(wǎng)絡(luò)傳輸?shù)倪^程中會丟失精度也是需要考慮的,而整型和浮點(diǎn)數(shù)都會出現(xiàn)精度的丟失。 
另外使用字符串的形式還可以使用壓縮算法進(jìn)行壓縮,進(jìn)而節(jié)省帶寬。 
因此字符串是最佳的選擇。

查看完整回答
反對 回復(fù) 2018-09-15
  • 1 回答
  • 0 關(guān)注
  • 2057 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號