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

Python json 錯(cuò)誤xx is not JSON serializable解決辦法

 更新時(shí)間:2017年03月15日 11:16:11   作者:orangleliu  
這篇文章主要介紹了Python json 錯(cuò)誤xx is not JSON serializable解決辦法的相關(guān)資料,需要的朋友可以參考下

Python json 錯(cuò)誤xx is not JSON serializable解決辦法

在使用json的時(shí)候經(jīng)常會(huì)遇到xxx  is not JSON serializable,也就是無(wú)法序列化某些對(duì)象。經(jīng)常使用django的同學(xué)知道django里面有個(gè)自帶的Encoder來(lái)序列化時(shí)間等常用的對(duì)象。其實(shí)我們可以自己定定義對(duì)特定類型的對(duì)象的序列化,下面看下怎么定義和使用的。

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#json_extention 
#2014-03-16 
#copyright: orangleliu 
#license: BSD 
 
''''' 
python中dumps方法很好用,可以直接把我們的dict直接序列化為json對(duì)象 
但是有的時(shí)候我們加了一些自定義的類就沒(méi)法序列化了,這個(gè)時(shí)候需要 
自定義一些序列化方法 
 
參考: 
http://docs.python.org/2.7/library/json.html 
 
例如: 
In [3]: from datetime import datetime 
 
In [4]: json_1 = {'num':1112, 'date':datetime.now()} 
 
In [5]: import json 
 
In [6]: json.dumps(json_1) 
--------------------------------------------------------------------------- 
TypeError                 Traceback (most recent call last) 
D:\devsofts\python2.7\lib\site-packages\django\core\management\commands\shell.py 
c in <module>() 
----> 1 json.dumps(json_1) 
 
TypeError: datetime.datetime(2014, 3, 16, 13, 47, 37, 353000) is not JSON serial 
izable 
''' 
 
from datetime import datetime 
import json 
 
class DateEncoder(json.JSONEncoder ): 
  def default(self, obj): 
    if isinstance(obj, datetime): 
      return obj.__str__() 
    return json.JSONEncoder.default(self, obj) 
 
json_1 = {'num':1112, 'date':datetime.now()} 
print json.dumps(json_1, cls=DateEncoder) 
 
''''' 
輸出結(jié)果: 
 
PS D:\code\python\python_abc> python .\json_extention.py 
{"date": "2014-03-16 13:56:39.003000", "num": 1112} 
''' 
 
#我們自定義一個(gè)類試試 
class User(object): 
  def __init__(self, name): 
    self.name = name 
 
class UserEncoder(json.JSONEncoder): 
  def default(self, obj): 
    if isinstance(obj, User): 
      return obj.name 
    return json.JSONEncoder.default(self, obj) 
 
json_2 = {'user':User('orangle')} 
print json.dumps(json_2, cls=UserEncoder) 
 
''''' 
PS D:\code\python\python_abc> python .\json_extention.py 
{"date": "2014-03-16 14:01:46.738000", "num": 1112} 
{"user": "orangle"} 
 
''' 

定義處理方法是繼承json.JSONEncoder的一個(gè)子類,使用的時(shí)候是在dumps方法的cls函數(shù)中添加自定義的處理方法。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • python使用pymongo操作mongo的完整步驟

    python使用pymongo操作mongo的完整步驟

    這篇文章主要給大家介紹了關(guān)于python使用pymongo操作mongo的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python 忽略文件名編碼的方法

    Python 忽略文件名編碼的方法

    這篇文章主要介紹了Python 忽略文件名編碼的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • Python_查看sqlite3表結(jié)構(gòu),查詢語(yǔ)句的示例代碼

    Python_查看sqlite3表結(jié)構(gòu),查詢語(yǔ)句的示例代碼

    今天小編就為大家分享一篇Python_查看sqlite3表結(jié)構(gòu),查詢語(yǔ)句的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python OpenCV實(shí)現(xiàn)傳統(tǒng)圖片格式與base64轉(zhuǎn)換

    Python OpenCV實(shí)現(xiàn)傳統(tǒng)圖片格式與base64轉(zhuǎn)換

    Base64是網(wǎng)絡(luò)上最常見(jiàn)的用于傳輸8Bit字節(jié)碼的編碼方式之一,本文主要介紹了Python OpenCV實(shí)現(xiàn)傳統(tǒng)圖片格式與base64轉(zhuǎn)換,感興趣的可以參考一下
    2021-06-06
  • Python中psutil的介紹與用法

    Python中psutil的介紹與用法

    這篇文章主要給大家介紹了關(guān)于Python中psutil的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python+django+rest框架配置創(chuàng)建方法

    python+django+rest框架配置創(chuàng)建方法

    今天小編就為大家分享一篇python+django+rest框架配置創(chuàng)建方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python 將Matrix、Dict保存到文件的方法

    Python 將Matrix、Dict保存到文件的方法

    今天小編就為大家分享一篇Python 將Matrix、Dict保存到文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python使用pymongo模塊操作MongoDB的方法示例

    Python使用pymongo模塊操作MongoDB的方法示例

    這篇文章主要介紹了Python使用pymongo模塊操作MongoDB的方法,結(jié)合實(shí)例形式分析了Python基于pymongo模塊連接MongoDB數(shù)據(jù)庫(kù)以及增刪改查與日志記錄相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python按條件批量刪除TXT文件行工具

    Python按條件批量刪除TXT文件行工具

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)按條件批量刪除TXT文件中行的工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • python把數(shù)據(jù)框?qū)懭隡ySQL的方法

    python把數(shù)據(jù)框?qū)懭隡ySQL的方法

    這篇文章主要介紹了如何讓python把數(shù)據(jù)框?qū)懭隡ySQL,下文利用上海市2016年9月1日公共交通卡刷卡數(shù)據(jù)的一份數(shù)據(jù)單展開(kāi)其方法,需要的小伙伴可以參考一下
    2022-03-03

最新評(píng)論

嵩明县| 望谟县| 个旧市| 濮阳县| 平乡县| 大港区| 乌兰浩特市| 新安县| 西林县| 禄丰县| 正镶白旗| 台州市| 渝中区| 长武县| 永福县| 新宁县| 美姑县| 万年县| 黑河市| 甘谷县| 嘉荫县| 陆良县| 安多县| 娱乐| 手机| 望奎县| 建德市| 普安县| 萨迦县| 临沧市| 施秉县| 辉南县| 镇赉县| 游戏| 临湘市| 呼伦贝尔市| 黎平县| 永丰县| 略阳县| 察隅县| 扎赉特旗|