Google App Engine (以下 GAE) で結果を JSON で出力したい場合、GAE SDK に同梱されている Django の simplejson を使えばいい。ただ問題があって、simplejson で JSON にできるのは、Python の組み込み型*1だけ。Model や GqlQuery を JSON にはできない。 対応策として思いついたのは、Model や Query の内容を dict に詰める方法と、カスタム JSONEncoder を作る方法の2つ。私が選択したのは後者。 class GaeEncoder(simplejson.JSONEncoder): def default(self, obj): if hasattr(obj, '__json__'): return getattr(obj, '__json__')() # db.Query に対