Я искал высоко и низко для ответа и не могу понять, что я делаю неправильно. Я создаю api, который возвращает данные json. Я бы предпочел, чтобы ответ был напечатан и в браузере, если это возможно. Что я делаю не так?
#!/usr/bin/python
import simplejson as json
class serve_json:
def __init__(self):
x = {"msg": "Some message", "error": "Some error"}
html_to_display = 'Content-Type: application/json\n\n'
html_to_display += json.dumps(x)
print html_to_display
serve_json()
Вышеприведенный код не работает, и он не выводит результат в браузер. Если я изменил Content-Type на "text/html", он отлично отобразит на экране, но все еще не работает как данные json.
Этот скрипт выполняется через /cgi
http://grouped.com/cgi-bin/upload_example.php (отлично работает)
Я бы порекомендовал бутылку, очень легко построить с ней простые услуги JSON:
from bottle import *
@get('/')
def serve_json():
return {"msg": "Some message", "error": "Some error"}
run(host='localhost', port=8080)
Одна аккуратная особенность бутылки заключается в том, что она автоматически будет обслуживать JSON с маршрута, который возвращает dict
. Вы можете выполнить python serve_json.py
для запуска вашего приложения с помощью встроенного HTTP-сервера, разместить его как приложение WSGI и т.д.