diff --git a/VERSION b/VERSION index f54b6eb1..b037f25c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.4.5-stable+timestamp.2013.03.21.15.09.50 +Version 2.4.5-stable+timestamp.2013.03.25.15.24.28 diff --git a/gluon/dal.py b/gluon/dal.py index 2b3716b0..91e7192a 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -4364,13 +4364,14 @@ class NoSQLAdapter(BaseAdapter): elif fieldtype == 'blob': pass elif fieldtype == 'json': - obj = self.to_unicode(obj) - if have_serializers: - obj = serializers.loads_json(obj) - elif simplejson: - obj = simplejson.loads(obj) - else: - raise RuntimeError("missing simplejson") + if isinstance(obj, basestring): + obj = self.to_unicode(obj) + if have_serializers: + obj = serializers.loads_json(obj) + elif simplejson: + obj = simplejson.loads(obj) + else: + raise RuntimeError("missing simplejson") elif is_string and field_is_type('list:string'): return map(self.to_unicode,obj) elif is_list: