您好,登錄后才能下訂單哦!
有一次寫side project時,用json.dumps()方法對UserInfo對象進行序列化,卻報錯了。Object type of UserInfo is not JSON serializable.經過一番探索發現,json.dumps()方法只能序列化簡單對象,也就是python自帶的一些數據類型。比如dict,list,tuple,str,int,long,float等等。而UserInfo是我自定義的對象,也就不能序列化了。使用對象.__dict__即可把對象轉成字典。(我這里是UserInfoDict = UserInfo.__dict__),然后再用json.dumps()方法序列化就可以了。順便也查了下json轉自定義對象的方法。
json轉自定義對象
import json class Ook(): name=str def __init__(self, d): self.__dict__ = d if __name__ == '__main__': data = {'name' : 'ACME','shares' : 100,'price' : {'name' : 'ACME'}} json_str = json.dumps(data) result = json.loads(json_str, object_hook=Ook) print(result.name) print(result.shares) print(result.price.name)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。