row.as_json simplification thanks Alan

This commit is contained in:
mdipierro
2013-01-12 14:09:05 -06:00
parent f02735de81
commit b747ac27cb
2 changed files with 5 additions and 11 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.4.1-alpha.2+timestamp.2013.01.12.14.03.31
Version 2.4.1-alpha.2+timestamp.2013.01.12.14.08.26
+4 -10
View File
@@ -6689,28 +6689,22 @@ class Row(object):
del d[k]
return d
def as_json(self, mode='object', default=None, **kwargs):
def as_json(self, default=None, **kwargs):
"""
serializes the table to a JSON list of objects
kwargs are passed to .as_dict method
only "object" mode supported
TODO: return array mode with query column order
"""
mode = mode.lower()
if not mode in ['object', 'array']:
raise SyntaxError('Invalid JSON serialization mode: %s' % mode)
multi = any([isinstance(v, self.__class__) for v in self.values()])
item = dict()
if multi:
for k, v in self.as_dict(**kwargs).iteritems():
for v in self.as_dict(**kwargs).values():
item.update(v)
else:
item = self.as_dict(**kwargs)
if mode != 'object':
item = item.values()
if have_serializers:
return serializers.json(item,
default=default or