Python 如何对实体进行JSON编码?

Python 如何对实体进行JSON编码?,python,ajax,json,google-app-engine,Python,Ajax,Json,Google App Engine,我开始使用谷歌应用程序引擎。我想让AJAX像Twitter一样聊天 class ChatMessage(db.Model): message = db.StringProperty() created = db.DateTimeProperty(auto_now=True) 服务器JSON对响应进行编码 class RPCHandler(webapp.RequestHandler): def get(self): chat_list = {'message':'Hello!

我开始使用谷歌应用程序引擎。我想让AJAX像Twitter一样聊天

class ChatMessage(db.Model):
  message = db.StringProperty()
  created = db.DateTimeProperty(auto_now=True)
服务器JSON对响应进行编码

class RPCHandler(webapp.RequestHandler):
  def get(self):
    chat_list = {'message':'Hello!'}
    self.response.out.write(simplejson.dumps(chat_list))
结果:你好

这没关系。但是换掉钱德

class RPCHandler(webapp.RequestHandler):
  def get(self):
    newchat = ChatMessage(message="Hi!")
    newchat.put()
    que = db.Query(ChatMessage).order('-created')
    chat_list = que.fetch(limit=1)

    self.response.out.write(simplejson.dumps(chat_list))
结果:错误。服务器不可访问(get)


如何对实体进行JSON编码?

我用于GAE/J。您可以给它一个对象(或者在您的情况下,从结果集中提取内容)并获取JSON字符串。

我用于GAE/J。您可以给它一个对象(或者在您的情况下,从结果集中提取内容)并获取JSON字符串。

检查应用程序引擎的错误日志。它将告诉您它遇到了什么错误。可能您正在尝试编码一种它不熟悉的Python类型。JSON只会做一些简单的事情,比如列表和字典。您不能将其用于复杂的自定义类型。

检查应用程序引擎的错误日志。它将告诉您它遇到了什么错误。可能您正在尝试编码一种它不熟悉的Python类型。JSON只会做一些简单的事情,比如列表和字典。您不能将其用于复杂的自定义类型。

在App Engine Python中,您可以使用此脚本将db.Models编码为JSON。您可能需要自定义某些部分,例如日期时间格式


在应用程序引擎Python中,您可以使用此脚本将db.Models编码为JSON。您可能需要自定义某些部分,例如日期时间格式


不能直接在db.Model项列表上使用simplejson.dumps()


有关序列化db.Model实例的一些简便方法,请参见my。您不能直接在db.Model项列表上使用simplejson.dumps()


请参阅my,其中有一些用于序列化db.Model实例的简便方法。handy,我以前没有发现最好的部分是它在对象上寻找一个_json _()方法,因此如果你有特殊的大小写编码,你可以将它添加到那里,因此,如果您有特殊的大小写编码,您可以将其添加到那里。