2

ページをjsonページとして応答するにはどうすればよいですか?以下のコードは正しいですか?

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import json

class JsonPage(webapp.RequestHandler):
    def get(self):
        self.response.header['Content-Type'] = 'application/json'
        self.response.out.write(json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]))

application = webapp.WSGIApplication([('json', JsonPage)], debug=True)

def main():
    run_wsgi_app(application)

if __name__ == '__main__':
    main()

次のエラーメッセージが表示されます。

HTTP request sent, awaiting response... 404 Not Found
2012-05-06 14:10:01 ERROR 404: Not Found.

コードにいくつかの変更を加えた後、次のエラーが発生しました。ダンプオブジェクトがjsonモジュールで見つからないようです。

<pre>Traceback (most recent call last):
  File &quot;/opt/google_appengine/google/appengine/ext/webapp/_webapp25.py&quot;, line 701, in __call__
    handler.get(*groups)
  File &quot;/home/kelvin/workspace/cloudnuts/json.py&quot;, line 8, in get
    self.response.out.write(json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]))
AttributeError: 'module' object has no attribute 'dumps'
</pre>
4

1 に答える 1

1

おそらくコードを次のように変更する必要があります。

application = webapp.WSGIApplication([('/json', JsonPage)], debug=True)

jsonの問題については、json.pyという名前のローカルファイルがありますか?jsonパッケージのインポートをオーバーライドします。

于 2012-05-06T06:12:23.550 に答える