GoogleAppEngine db Модель datetimeproperty для JSON - PullRequest
1 голос
/ 28 июля 2010

Я пытался использовать этот soln (который использует этот файл) для преобразования модели GAE db в json.Но когда я попытался его использовать, я получил эту ошибку: «Ошибка типа: datetime.date (2010, 7, 27) не поддерживает сериализацию в формате JSON»

Кто-нибудь знает, в чем проблема?

Или, если вы знаете альтернативный soln для преобразования модели GAE db в JSON, пожалуйста, предложите это.

1 Ответ

3 голосов
/ 28 июля 2010

Похоже, вам нужно изменить json.py, на который вы ссылались, и добавить блок для обработки типа.

Посмотрите, как обрабатывается datetime.datetime в строке 61 :

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...