summaryrefslogtreecommitdiff
path: root/tablib
diff options
context:
space:
mode:
Diffstat (limited to 'tablib')
-rw-r--r--tablib/formats/_json.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/tablib/formats/_json.py b/tablib/formats/_json.py
index a3d6cc3..a3b88f8 100644
--- a/tablib/formats/_json.py
+++ b/tablib/formats/_json.py
@@ -3,6 +3,7 @@
""" Tablib - JSON Support
"""
import decimal
+from uuid import UUID
import tablib
@@ -15,24 +16,23 @@ title = 'json'
extensions = ('json', 'jsn')
-def date_handler(obj):
- if isinstance(obj, decimal.Decimal):
+def serialize_objects_handler(obj):
+ if isinstance(obj, decimal.Decimal) or isinstance(obj, UUID):
return str(obj)
elif hasattr(obj, 'isoformat'):
return obj.isoformat()
else:
return obj
- # return obj.isoformat() if hasattr(obj, 'isoformat') else obj
def export_set(dataset):
"""Returns JSON representation of Dataset."""
- return json.dumps(dataset.dict, default=date_handler)
+ return json.dumps(dataset.dict, default=serialize_objects_handler)
def export_book(databook):
"""Returns JSON representation of Databook."""
- return json.dumps(databook._package(), default=date_handler)
+ return json.dumps(databook._package(), default=serialize_objects_handler)
def import_set(dset, in_stream):