最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決TypeError: Object of type xxx is not JSON serializable錯誤問題

 更新時間:2023年06月25日 14:13:25   作者:zaf趙  
這篇文章主要介紹了解決TypeError: Object of type xxx is not JSON serializable錯誤問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

TypeError: Object of type xxx is not JSON serializable

問題描述

在導(dǎo)入Python json包,調(diào)用json.dump/dumps函數(shù)時,可能會遇到TypeError: Object of type xxx is not JSON serializable錯誤,也就是無法序列化某些對象格式。

解決辦法

默認(rèn)的編碼函數(shù)很多數(shù)據(jù)類型都不能編碼,自定義序列化,因此可以自己寫一個Myencoder去繼承json.JSONEncoder

具體如下:

class MyEncoder(json.JSONEncoder):
? ? def default(self, obj):
? ? ? ? if isinstance(obj, np.integer):
? ? ? ? ? ? return int(obj)
? ? ? ? elif isinstance(obj, np.floating):
? ? ? ? ? ? return float(obj)
? ? ? ? elif isinstance(obj, np.ndarray):
? ? ? ? ? ? return obj.tolist()
? ? ? ? else:
? ? ? ? ? ? return super(MyEncoder, self).default(obj)

然后在調(diào)用json.dump/dumps時,指定使用自定義序列化方法

json.dumps(data, cls=MyEncoder)?

dict to json

def dict_to_json(dict_obj,name, Mycls = None):
? ? js_obj = json.dumps(dict_obj, cls = Mycls, indent=4)
? ? with open(name, 'w') as file_obj:
? ? ? ? file_obj.write(js_obj)

json to dict

def json_to_dict(filepath, Mycls = None):
? ? with open(filepath,'r') as js_obj:
? ? ? ? dict_obj = json.load(js_obj, cls = Mycls)
? ? return dict_obj

TypeError: Object of type ‘int64’ is not JSON serializable (或者float32)

在使用json格式保存數(shù)據(jù)時,經(jīng)常會遇到xxx is not JSON serializable,也就是無法序列化某些對象格式,我所遇見的是我使用了numpy時,使用了np的數(shù)據(jù)格式,寫入data后,json.dumps(data)失敗,我們可以自己定定義對特定類型的對象的序列化

下面看下怎么定義和使用關(guān)于np數(shù)據(jù)類型的自定義。

1.首先,繼承json.JSONEncoder,自定義序列化方法。

class NpEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
else:
return super(NpEncoder, self).default(obj)

2.使用dumps方法(我們可以直接把dict直接序列化為json對象)加上 cls=NpEncoder,data就可以正常序列化了

json.dumps(data, cls=NpEncoder)

其實(shí),很簡單,自定義一個序列化方法,然后dumps的時候加上cls=NpEncoder

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python Transformer 庫安裝配置及使用方法

    Python Transformer 庫安裝配置及使用方法

    Hugging Face Transformers 是自然語言處理(NLP)領(lǐng)域最流行的開源庫之一,支持基于 Transformer 架構(gòu)的預(yù)訓(xùn)練模型(如 BERT、GPT、T5 等),覆蓋文本、圖像、音頻等多模態(tài)任務(wù),本文介紹Python 中的 Transformer 庫及使用方法,感興趣的朋友一起看看吧
    2025-04-04
  • Python生成圖文并茂的PDF報(bào)告的方法詳解

    Python生成圖文并茂的PDF報(bào)告的方法詳解

    reportlab是Python的一個標(biāo)準(zhǔn)庫,可以畫圖、畫表格、編輯文字,最后可以輸出PDF格式。本文將利用reportlab模塊生成圖文并茂的PDF報(bào)告,感興趣的可以了解一下
    2022-06-06
  • 詳解如何用TensorFlow訓(xùn)練和識別/分類自定義圖片

    詳解如何用TensorFlow訓(xùn)練和識別/分類自定義圖片

    這篇文章主要介紹了詳解如何用TensorFlow訓(xùn)練和識別/分類自定義圖片,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 解決安裝jieba失敗的問題及過程

    解決安裝jieba失敗的問題及過程

    這段描述主要解決了在PyCharm中安裝jieba庫時遇到的問題,提供了兩種有效解決方案,包括直接在控制臺輸入pip安裝命令及使用鏡像加速安裝,適合Python初學(xué)者參考
    2026-06-06
  • python通過socket查詢whois的方法

    python通過socket查詢whois的方法

    這篇文章主要介紹了python通過socket查詢whois的方法,涉及Python基于socket模塊進(jìn)行查詢的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 跟老齊學(xué)Python之折騰一下目錄

    跟老齊學(xué)Python之折騰一下目錄

    本講只關(guān)注os.path,真所謂“弱水三千,只取一瓢”,為什么這么偏愛它呢?因?yàn)樗颓懊嬉呀?jīng)講過的文件操作進(jìn)行配合,就能夠隨心所欲操作各個地方的文件了
    2014-10-10
  • vc6編寫python擴(kuò)展的方法分享

    vc6編寫python擴(kuò)展的方法分享

    有些C/C++的代碼要在Python中要用到,又不想轉(zhuǎn)成python,所以就寫成python的擴(kuò)展來調(diào)用,以下是我嘗試后,在VC6下編寫python擴(kuò)展的過程
    2014-01-01
  • 一文學(xué)會Python列表list的使用

    一文學(xué)會Python列表list的使用

    這篇文章主要為大家介紹了Python列表list的使用全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)扎氣球游戲

    Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)扎氣球游戲

    這篇文章主要為大家介紹了利用Python中的Pygame模塊實(shí)現(xiàn)的一個扎氣球游戲,文中的示例代碼講解詳細(xì),對我們了解Pygame模塊有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • Python實(shí)現(xiàn)一個論文下載器的過程

    Python實(shí)現(xiàn)一個論文下載器的過程

    這篇文章主要介紹了Python實(shí)現(xiàn)一個論文下載器的過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評論

望江县| 南澳县| 盐山县| 绵阳市| 台南县| 太原市| 阳高县| 河西区| 历史| 富宁县| 阿拉善右旗| 新平| 汽车| 珠海市| 仪征市| 镇安县| 岗巴县| 毕节市| 利辛县| 巨鹿县| 崇阳县| 五寨县| 遂平县| 伊金霍洛旗| 青海省| 大同县| 邓州市| 宝鸡市| 宜昌市| 卓尼县| 北京市| 苍南县| 怀集县| 华池县| 浑源县| 拜泉县| 大余县| 宣恩县| 玉溪市| 顺平县| 化德县|