GoogleAppEngine db模型datetimeproperty到JSON

时间:2010-07-28 04:08:17

标签: json google-app-engine

我尝试使用this soln(使用this文件)将GAE数据库模型转换为json。但当我尝试使用它时,我收到此错误“TypeError:datetime.date(2010,7,27)不是JSON可序列化的”

有谁知道这个问题是什么?

或者,如果您知道将GAE数据库模型转换为JSON的替代解决方案,请建议。

1 个答案:

答案 0 :(得分:3)

看起来你需要修改你引用的json.py并添加一个块来处理这个类型。

了解line 61处理datetime.datetime的方式:

elif isinstance(obj, datetime.datetime):
  output = {}
  fields = ['day', 'hour', 'microsecond', 'minute', 'month', 'second',
      'year']
  methods = ['ctime', 'isocalendar', 'isoformat', 'isoweekday',
      'timetuple']
  for field in fields:
    output[field] = getattr(obj, field)
  for method in methods:
    output[method] = getattr(obj, method)()
  output['epoch'] = time.mktime(obj.timetuple())
  return output

您需要添加一些内容来处理datetime.date

elif isinstance(obj, datetime.date): 
    #your code here...

或者只使用datetime.datetime代替datetime.date