Non riesco a capire come forzare il tipo MIME application/json
per una vista in Flask. Ecco una semplice vista ho buttato insieme a scopo dimostrativo:Forza applicazione/tipo MIME json in una vista (Flask)
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
return ret
La stringa JSON (tenutosi a variabili ret
) viene raccolto da altrove (utilizzando stdout da un altro programma utilizzando subprocess
) quindi non posso usare jsonify
fornito con Flask.
Ho dato un'occhiata alla domanda StackOverflow "Returning Json" Documentation e this ma non ho avuto fortuna fino ad ora. Mi sono guardato intorno per un po 'ora & continuerà a cercare ma ho pensato di chiedere qui nel caso in cui qualcuno si sia imbattuto in questo.
Grazie.
Vedi l'answer below
La soluzione:
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
resp = Response(response=ret,
status=200,
mimetype="application/json")
return resp
ho trovato questo sito utile: Implementing a RESTful Web API with Python & Flask
+1 - Grazie. Sto giocherellando con questo ora. –
['make_response'] (http://flask.pocoo.org/docs/api/#flask.Flask.make_response) è probabilmente un'opzione migliore in questo caso. Quindi imposta la proprietà 'mimetype'. 'r = make_response (dati); r.mimetype = 'application/json'; return r' – soulseekah
Il precedente dovrebbe essere convertito nella risposta corretta! –