如何JSON编码?

时间:2011-03-23 05:46:07

标签: python json google-app-engine

  

可能重复:
  How to JSON encode Entities?

我开始使用Google App Engine了。我想像Twitter一样进行AJAX聊天。

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))

结果:你好!

这没关系。但是替换RPCHandler

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))

结果:错误。服务器无法访问(获取)

我如何对数据库中的数据进行JSON编码?

3 个答案:

答案 0 :(得分:0)

请参阅Python文档:

http://docs.python.org/library/json.html

(具体来说,请看API方法'json.dump')

答案 1 :(得分:0)

Python有一个名为json的模块,它可以自动序列化和反序列化字典,列表和其他本机Python对象(如果提供接口,则可以是复杂类型)。

如果您可以将数据库查询的结果作为字典返回,那么您只需使用:

import json
as_json = json.dumps(dictionary)

如需进一步参考,请访问官方json module documentatio n。

答案 2 :(得分:0)

你应该看看Djano在django.core.serializers.json模块中处理它的方式。