回覆列表
-
1 # 小小猿愛嘻嘻
-
2 # 網際網路麵霸
python中json的序列化與反序列化有很多庫
常用python自帶的JSON庫是用純python程式碼實現的,呼叫loads(),dumps()就可以實現序列化和反序列化
但是更推薦C語言寫的來做JSON的解析ujson ,使用方法和json一樣,呼叫loads(),dumps()就可以實現序列化和反序列化,但是序列化和反序列化效率更高
除了上面介紹的json和ujson,還有yajl 庫和simplejson庫,可以根據不同的場景來選擇合適的庫
這個其實很簡單,也很基礎,json序列化,其實就是將python物件編碼為json字串,下面我簡單介紹一下吧,2種方法,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
1.利用python自帶的json庫序列化json,主要用到dumps這個函式,將python物件轉換為json格式字串,測試程式碼及截圖如下:
內建的python物件轉json字串,這裡羅列了dict,list,int,float,bool這5個物件,程式碼如下,主要用到dumps這個函式:
程式執行截圖如下:
自定義物件轉json字串,如下,這裡用到了__dict__,也可以使用自定義的函式:
程式執行截圖如下:
2.利用第三方庫demjson序列化json(安裝的話,直接“pip install demjson”就行),其實和上面的的步驟差不多,程式碼類似,只不過使用的是encode函式,主要程式碼及截圖如下:
內建物件轉json字串:
程式執行截圖如下:
自定義物件轉json字串:
程式執行截圖如下:
至此,我們就完成了json的序列化。總的來說,整個過程很簡單,藉助json和demjson我們可以快完成json的序列化,將python物件轉化為json格式字串,至於反序列化,也很容易,就是將json字元創轉化為python物件,都有現成的函式可利用(loads函式),感興趣的話,可以到網上查一下相關資料和教程,很多,希望以上分享的內容能對你有所幫助吧。