方法
解釋json.dumpus()
將 python 物件編碼成 json 字串
-json.loads()-
-將字串編碼為乙個python物件-
json.dumpu()
將python物件序列化到乙個檔案,是文字檔案,相當於將序列化後的json字元寫到乙個檔案
json.load()
從檔案中反序列化出python物件
型別編碼後的型別
dict
object
-list, tuple-
-array>陣列-
str, unicode
string
int, long, float
number
-true-
-true-
false
false
none
null
json型別
python
object
dict
array
list
string
unicode
number
(int) int, long
number
(real) float
true
true
false
false
null
nonel
#字典
dir =
f = json.
dumps
(dir)
print
(f)#結果
#print
(f["name"
]) #這裡注意如果不用loads 反序列化一下這裡是不可以像字典一樣切出值的,還會報錯
d=json.
loads
(f) #反序列出python物件
print
(dir[1]
) #這裡就可以切出dir key的值 注意轉換後這裡的1就變成了字串
#結果 123
print
(d["1"
]) #轉換後就變成字串了
#結果 123
#列表 和元組 轉換成json字串
list=[1
,2,3
]js=json.
dumps
(list)
print
(js)
li=json.
loads
(js)
print
(li)
元組 =(1
,2,2
,3)陣列=json.
dumps
(元組)
print
(陣列)
#結果 [1,
2,3] 注意此事顯示的是方括號
b=json.
loads
(陣列)
print
(b) #這裡可以看出 元組解碼回來就變成了列表型別了,這裡注意
#結果 [1,
2,2,
3] 這裡是列表
引數json.dumpus(self,sort_keys=true)
是否按字典排序(a到z)輸出,預設編碼成json格式字串後,是緊湊輸出,並且也沒有順序的,不利於可讀。sort_keys等於true表示公升序
json.dumpus(self,sort_keys=true,indent=3)
根據資料格式縮排顯示,讀起來更清晰,indent的數值表示縮排的位數
去掉逗號「,」和冒號「:」後面的空格。從上面的結果中可以看出『, :』後面都有個空格,這都是為了美化的作用,但是在傳輸的過程中,越精簡越好,冗餘的東西去掉,因此就可以加上separators引數對傳輸的json串進行壓縮。該引數是元組格式的。
shipkeys在編碼的過程中,dict的物件只能是基本資料類似(int,float,bool,none,str),如果是其它型別,那麼在編碼的過程中就會丟擲valueerror異常。shipkeys可以跳過那些非string物件的key的處理,設定為true , 不是幾百型別的就直接跳過不處理。
表示編碼使用的字符集,預設是true,表示使用ascii碼進行編碼。如果設定為false,就會以unicode進行編碼。由於解碼json字串時返回的就是unicode字串,所以可以直接操作unicode字元,然後直接編碼unicode字串,這樣會簡單些。
default:將類物件編碼成json串
python中的dict物件可以直接序列化為json的{},但是很多時候,可能用class表示物件,比如定義employe類,然後直接去序列化就會報錯。原因是類不是乙個可以直接序列化的物件,但我們可以使用dumps()函式中的default引數來實現,由兩種方法:
1.在類內部定義乙個obj_json 方法將物件的屬性轉換成dict,然後再被序列化為json。
2.通過__dict__屬性,通常class及其例項都會有乙個__dict__屬性(除非類中新增了__slots__屬性),它是乙個dict型別,儲存的是類或類例項中有效的屬性
**示例:
示例2
class
Python3的Json模組詳解
json模組主要用來進行python物件的序列化和反序列化。該模組中常用的方法有以下四個 進行序列化時,python型別與json型別的轉換關係如下表所示 python json dict object list,tuple array strstring int,float number true...
Python3基礎 常用模組
1.time.time 從1970年1月1日到當前的時間,單位是s 2.time.strftime y m d h m s 按照一定的格式列印當前日期和時間 1.random.random 0,1 之間的隨機值 2.random.randint n,m n,m 之間的整型 3.random.samp...
Python3的json模組及使用
import json json 是 js 下的內容各個語言交流的資料交換方式 字典 dict1 data json.dumps dict1 載入進去 序列化 資料可以看到 f open json text w f.write data f.close 函式 不可json序列化 可以使用pickle...