python的字典和json有什么區別


轉載自https://blog.csdn.net/u010569893/article/details/97538914

一. python的字典和json字符串的區別

python中,json和dict非常類似,都是key-value的形式,而且json和dict也可以非常方便的通過dumps和loads互轉,但是它們之間還是有區別的:

json:是一種數據格式,是純字符串。可以被解析成python的dict或其他形式。

dict:是一個完整的數據結構,是對hash table這一數據結構的實現,是一套從存儲到提取都封裝好的方案。它使用內置的hash函數來規划key對應的value的存儲位置,從而獲得O(1)的數據讀取速度。

二. json和dict對比:

1)json的key只能是字符串,dict的key可以是任何可hash的對象,例如:字符串、數字、元組等。

2)json的key可以是有序、重復的;dict的key不可重復;

3)json的value只能是字符串、浮點數、布爾值或者null,或者它們構成的數組或者對象;

4)json任意key存在默認值undefined,dict默認沒有默認值;

5)json訪問方式可以是[],也可以是.,遍歷方式分in,of; dict的value僅僅可以下標訪問;

6)json的字符串強制用雙引號,dict的字符串可以用單引號、雙引號;

7)dict可以嵌套tuple,json里只有數組

8)json:true、false、null

9)dict:True、False、None

10)json中文必須是unicode編碼,如“\u6211”

11)json的類型時字符串,字典的類型是dict

三. 示例:

#coding:utf-8
import sys
import json

dic = {"name": "王五", "age":29, "is_male":False, "school":None}
print "dic:", dic

my_json = json.dumps(dic)
print "my_json:", my_json

結果:

dic: {'age': 29, 'school': None, 'name': '\xe7\x8e\x8b\xe4\xba\x94', 'is_male': False}
my_json: {"age": 29, "school": null, "name": "\u738b\u4e94", "is_male": false}

————————————————
版權聲明:本文為CSDN博主「追夢杏花天影」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010569893/java/article/details/97538914


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM