blob: 9ba4eecb50072c8cea09046e6c80a02cf791b356 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from datetime import datetime, date
from decimal import Decimal
import json
class JsonSerializer(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime) or isinstance(obj, date):
return obj.isoformat()
if isinstance(obj, Decimal):
return str(obj)
if hasattr(obj, 'json_included_attributes'):
return dict([(k, getattr(obj, k)) for k in obj.json_included_attributes])
return json.JSONEncoder.default(self, obj)
|