2012-08-08 3 views
6

Quiero usar frasco para volver JSON a la Brower con o sin simplejson (con cabeceras apropiadas) esto es lo que tengo hasta ahora para mi aplicación frasco:¿Cómo devuelvo JSON en matraz Python recuperado de otra url al navegador?

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

Suponiendo que la salida de JSON devuelto es:

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

Cuando visito la página http://localhost:5000, sin embargo, obtengo un Internal Server Error. ¿Qué debo hacer con "resultado" para que se muestre adecuadamente? ¿O hay alguna forma en que pueda decir que vuelva con los encabezados json?

Cuando agrego una declaración de impresión para imprimir el resultado, puedo ver el JSON, pero en el navegador me da un Internal Server Error.

Respuesta

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 está disponible en matraz. Aquí está el docs

Cuestiones relacionadas