cualquier idea sobre cómo generar un objeto JSON en python utilizando Tornado. Cualquier buen ejemplo, tutorial, bibliotecas o un código de línea que genere un objeto JSONP.tornado escribe un objeto Jsonp
9
A
Respuesta
22
Tornado ofrece tornado.escape.json_encode
, que simplemente se envuelve json
en Python 2.6+ o simplejson
en Python 2.5. Es muy sencillo de utilizar:
from tornado.escape import json_encode
obj = {
'foo': 'bar',
'1': 2,
'false': True
}
self.write(json_encode(obj))
salidas:
{"1": 2, "foo": "bar", "false": true}
Para una respuesta JSONP:
callback = self.get_argument('callback')
jsonp = "{jsfunc}({json});".format(jsfunc=callback,
json=json_encode(obj))
self.set_header('Content-Type', 'application/javascript')
self.write(jsonp)
1
Usted puede volver obj JSON de esa manera
import json
class GetYearsHandler(tornado.web.RequestHandler):
def get(self):
try:
response = get_years(self.get_argument("dataset_id"))
result = {'status':'success', 'response': response}
kk = tornado.escape.json_encode(result)
kk = wrap_callback(self, kk)
self.write(kk)
except Exception, e:
print >> sys.stderr, "Error occured:\n%s" % format_exc()
self.write(json.dumps({'status': 'fail', 'error': "Error occured:\n%s" % format_exc()}))
def get_years (dataset_id):
dates=[]
years=[]
conn = condb()
cur = conn.cursor()
data = {'dataset_id':dataset_id}
cur.execute("SELECT layers.start_time FROM layers, datasets WHERE (layers.dataset_id=datasets.id) AND (datasets.business_id=%(dataset_id)s)",data)
for row in cur.fetchall():
dates.append(row[0])
date=""
for date in dates:
year = int(date.year)
if not year in years:
years.append(year)
conn.close()
years.sort()
return years
para registrar la clase
def main(db_fn=None):
tornado.options.parse_command_line()
application = tornado.web.Application([
(r"/get_datasets", GetDatasetsHandler),
(r"/get_years", GetYearsHandler),
)
conn - es la conexión de base de datos
Cuestiones relacionadas
- 1. Publique un formulario con JSONP
- 2. Envío de un archivo binario en Tornado
- 3. java.io.NotSerializableException mientras se escribe objeto Serializable en el almacenamiento externo?
- 4. Implementación de código Tornado
- 5. tornado equivalente de retardo
- 6. Tornado con Django
- 7. pitón configuración tornado
- 8. Tema mersenne segura tornado
- 9. Tornado 'Hola Mundo'
- 10. Tornado login Ejemplos/Tutoriales
- 11. Thrift + Tornado + Async
- 12. ¿Tornado realmente no bloquea?
- 13. Publicar datos en JsonP
- 14. JSONP y Backbone.js
- 15. JSONP vs IFrame?
- 16. Cookie Access sobre JSONP
- 17. JavaScript: ¿Cómo creo JSONP?
- 18. jquery $ .ajax jsonp
- 19. Entonces, ¿JSONP o CORS?
- 20. Cambio getJSON a JSONP
- 21. ¿Cómo configuro JSONP?
- 22. Parámetros de consulta Tornado URL
- 23. Tornado y Python 3.x
- 24. Integración de apio tornado piratea
- 25. Carga de archivo con Tornado
- 26. ¿Cómo se escribe un juego en 3D?
- 27. ¿Dónde escribe System.out en un servlet?
- 28. ¿Cómo se escribe un archivo usando StreamWriter en Windows 8?
- 29. Tornado: identificar/rastrear conexiones de websockets?
- 30. JSONP cómo recuperar el texto