summaryrefslogtreecommitdiff
path: root/tablib/formats/_json.py
diff options
context:
space:
mode:
Diffstat (limited to 'tablib/formats/_json.py')
-rw-r--r--tablib/formats/_json.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/tablib/formats/_json.py b/tablib/formats/_json.py
index acbaf57..18885c7 100644
--- a/tablib/formats/_json.py
+++ b/tablib/formats/_json.py
@@ -14,19 +14,26 @@ def export_set(dataset):
def export_book(databook):
"""Returns JSON representation of Databook."""
-
return json.dumps(databook._package())
-
-
-def detect(contents):
- """Return True if contets are JSON."""
- return False
-
+
def import_set(in_stream):
"""Returns dataset from JSON stream."""
+
data = tablib.core.Dataset()
data.dict = json.loads(in_stream)
return data
+
+def import_book(in_stream):
+ """Returns databook from JSON stream."""
+
+ book = tablib.core.Databook()
+ for sheet in json.loads(in_stream):
+ data = tablib.core.Dataset()
+ data.title = sheet['title']
+ data.dict = sheet['data']
+ book.add_sheet(data)
+
+ return book \ No newline at end of file