JSON(JavaScriptObjectNotation)是一種輕量級的數(shù)據(jù)交換格式。它基于ECMAScript的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
JSON在python中分別由list和dict組成。
這是用于序列化的兩個模塊:
json:用于字符串和python數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換
pickle:用于python特有的類型和python的數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換
Json模塊提供了四個功能:
dumps、dump、loads、load
pickle模塊提供了四個功能:
dumps、dump、loads、load
jsondumps把數(shù)據(jù)類型轉(zhuǎn)換成字符串dump把數(shù)據(jù)類型轉(zhuǎn)換成字符串并存儲在文件中l(wèi)oads把字符串轉(zhuǎn)換成數(shù)據(jù)類型load把文件打開從字符串轉(zhuǎn)換成數(shù)據(jù)類型。
json是可以在不同語言之間交換數(shù)據(jù)的,而pickle只在python之間使用。json只能序列化最基本的數(shù)據(jù)類型,josn只能把常用的數(shù)據(jù)類型序列化(列表、字典、列表、字符串、數(shù)字、),比如日期格式、類對象!josn就不行了。而pickle可以序列化所有的數(shù)據(jù)類型,包括類,函數(shù)都可以序列化。
實例
dumps:將python中的字典轉(zhuǎn)換為字符串
importjson
test_dict={'bigberg':[7600,{1:[['iPhone',6300],['Bike',800],['shirt',300]]}]}
print(test_dict)
print(type(test_dict))
#dumps將數(shù)據(jù)轉(zhuǎn)換成字符串
json_str=json.dumps(test_dict)
print(json_str)
print(type(json_str))
loads:將字符串轉(zhuǎn)換為字典
1new_dict=json.loads(json_str)
2print(new_dict)
3print(type(new_dict))
以上內(nèi)容為大家介紹了python培訓(xùn)之怎樣用Python讀取json文件,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。