Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import date, datetime, time
- from decimal import Decimal
- def to_json(python_object):
- """
- Adding in custom serialization for Date & Decimal objects.
- >>> import json
- >>> from datetime import date, datetime, time
- >>> from decimal import Decimal
- >>> json.dumps({'adatetime': datetime(2012, 1, 1, 12, 1, 1)}, default=to_json)
- '{"adatetime": "2012-01-01 12:01:01"}'
- >>> json.dumps({'adate': date(2012, 1, 1)}, default=to_json)
- '{"adate": "2012-01-01"}'
- >>> json.dumps({'atime': time(12, 1, 1)}, default=to_json)
- '{"atime": "12:01:01"}'
- >>> json.dumps({'adecimal': Decimal('1.01')}, default=to_json)
- '{"adecimal": "1.01"}'
- """
- if (isinstance(python_object, date)
- or isinstance(python_object, datetime)
- or isinstance(python_object, time)):
- return str(python_object)
- if isinstance(python_object, Decimal):
- return python_object.to_eng_string()
- raise TypeError(repr(python_object) + ' is not JSON serializable')
- if __name__ == '__main__':
- import doctest
- doctest.testmod()
Add Comment
Please, Sign In to add comment