summaryrefslogtreecommitdiff
path: root/tablib/formats/_json.py
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2011-02-17 20:09:07 -0500
committerKenneth Reitz <me@kennethreitz.com>2011-02-17 20:09:07 -0500
commitd776d78df52c8d2a1448cb6c9407de292d4517bd (patch)
tree84b1a9a47024a5224799513a9a49e16706b69f20 /tablib/formats/_json.py
parent6f9365d376ba108b5bfeda4a68de619fe93df3ff (diff)
downloadtablib-d776d78df52c8d2a1448cb6c9407de292d4517bd.tar.gz
Added AnyJSON to json format system
Diffstat (limited to 'tablib/formats/_json.py')
-rw-r--r--tablib/formats/_json.py20
1 files changed, 7 insertions, 13 deletions
diff --git a/tablib/formats/_json.py b/tablib/formats/_json.py
index 09e4626..262c627 100644
--- a/tablib/formats/_json.py
+++ b/tablib/formats/_json.py
@@ -3,15 +3,9 @@
""" Tablib - JSON Support
"""
-try:
- import json # load system JSON (Python >= 2.6)
-except ImportError:
- try:
- import simplejson as json
- except ImportError:
- from tablib.packages import simplejson as json # use the vendorized copy
-
import tablib.core
+from tablib.packages import anyjson
+
title = 'json'
@@ -20,26 +14,26 @@ extentions = ('json', 'jsn')
def export_set(dataset):
"""Returns JSON representation of Dataset."""
- return json.dumps(dataset.dict)
+ return anyjson.serialize(dataset.dict)
def export_book(databook):
"""Returns JSON representation of Databook."""
- return json.dumps(databook._package())
+ return anyjson.serialize(databook._package())
def import_set(dset, in_stream):
"""Returns dataset from JSON stream."""
dset.wipe()
- dset.dict = json.loads(in_stream)
+ dset.dict = anyjson.deserialize(in_stream)
def import_book(dbook, in_stream):
"""Returns databook from JSON stream."""
dbook.wipe()
- for sheet in json.loads(in_stream):
+ for sheet in anyjson.deserialize(in_stream):
data = tablib.core.Dataset()
data.title = sheet['title']
data.dict = sheet['data']
@@ -49,7 +43,7 @@ def import_book(dbook, in_stream):
def detect(stream):
"""Returns True if given stream is valid JSON."""
try:
- json.loads(stream)
+ anyjson.deserialize(stream)
return True
except ValueError:
return False