擅长:python、mysql、java
<p>默认情况下,嵌套字典、枚举、日期、时间和日期时间在Python中不可序列化。这是我处理这些类型的方法</p>
<pre><code>from datetime import time
from datetime import datetime
from datetime import timedelta
import json
import enum
def to_serializable(val):
"""JSON serializer for objects not serializable by default"""
if isinstance(val, (datetime, date, time)):
return val.isoformat()
elif isinstance(val, enum.Enum):
return val.value
elif hasattr(val, '__dict__'):
return val.__dict__
return val
def to_json(data):
"""Converts object to JSON formatted string"""
return json.dumps(data, default=to_serializable)
# example on how to serialize dict
to_json(mydict.__dict__)
</code></pre>