由于找不到合适的解决方案,因此我编写了自己的解决方案,它不是一个JSON序列化器,而是一个Javascript序列化器
from google.appengine.ext import dbfrom google.appengine.api.datastore_types import *def dumpStr(obj): return "'" + obj + "'"def dumps(obj): if isinstance(obj, str): return dumpStr(obj) elif obj == None: return None elif isinstance(obj, list): items = []; for item in obj: items.append(dumps(item)) return '[' + ','.join(items) + ']' elif isinstance(obj, datetime.datetime): return "new Date('%s')" % obj.ctime() properties = []; for property in dir(obj): if property[0] != '_': value = obj.__getattribute__(property) valueClass = str(value.__class__) if not(('function' in valueClass) or ('built' in valueClass) or ('method' in valueClass)): value = dumps(value) if value != None: properties.append("'" + property + "':" + value) if len(properties) == 0: return str(obj) else: return '{' + ','.join(properties) + '}'


