2012-08-08 11 views
6

私はここに(適切なヘッダを含む)のsimplejsonの有無にかかわらずブラウワーにJSONを返すためにフラスコを使用したいが、私は私のフラスコアプリケーションのために、これまで持っているものです。フラスコでJSONを返すpython別のURLからブラウザにフェッチしたpython?

@app.route('/') 
def hello_world(): 
    QUERY_URL="http://someappserver:9902/myjsonservlet" 
    result = simplejson.load(urllib.urlopen(QUERY_URL)) 
    return result; 

JSON出力が返されると仮定すると、次のとおりです。

{"myapplication":{"system_memory":21026160640.0,"percent_memory":0.34, 
"total_queue_memory":4744,"consumers":1,"messages_unacknowledged":0, 
"total_messages":0,"connections":1} 

しかし、http://localhost:5000のページにアクセスすると、私はInternal Server Errorとなります。それを適切に表示するには、「結果」をどうすればいいですか?または、jsonヘッダーを返すように伝えることができる方法はありますか?

結果を印刷するためにprintステートメントを追加すると、JSONが表示されますが、ブラウザではInternal Server Errorと表示されます。

答えて

10
import requests 
r = requests.get(QUERY_URL) 
return r.json 

#normal return 
return jsonify(username=g.user.username, 
       email=g.user.email, 
       id=g.user.id) 

jsonifyはフラスコで入手可能です。ここにはdocs

関連する問題