mirror of
https://github.com/apache/superset.git
synced 2026-04-24 02:25:13 +00:00
utils: teach our json serializer to handle more types (#1907)
Namely datetime.time and numpy.bool_ Refs: #1900 Refs: #1903
This commit is contained in:
committed by
Maxime Beauchemin
parent
c2d29fb54b
commit
e3b296c558
@@ -5,7 +5,7 @@ from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from builtins import object
|
||||
from datetime import date, datetime
|
||||
from datetime import date, datetime, time
|
||||
import decimal
|
||||
import functools
|
||||
import json
|
||||
@@ -216,6 +216,8 @@ def base_json_conv(obj):
|
||||
|
||||
if isinstance(obj, numpy.int64):
|
||||
return int(obj)
|
||||
elif isinstance(obj, numpy.bool_):
|
||||
return bool(obj)
|
||||
elif isinstance(obj, set):
|
||||
return list(obj)
|
||||
elif isinstance(obj, decimal.Decimal):
|
||||
@@ -239,6 +241,8 @@ def json_iso_dttm_ser(obj):
|
||||
obj = obj.isoformat()
|
||||
elif isinstance(obj, date):
|
||||
obj = obj.isoformat()
|
||||
elif isinstance(obj, time):
|
||||
obj = obj.isoformat()
|
||||
else:
|
||||
raise TypeError(
|
||||
"Unserializable object {} of type {}".format(obj, type(obj))
|
||||
|
||||
Reference in New Issue
Block a user