Можно ли использовать webpy для обслуживания JSON? Я создал свой веб-сайт, и мне нужно предоставить некоторую информацию в JSON для взаимодействия с Javascript на некоторых страницах.
Я пытаюсь искать ответы в документации, но не могу ничего найти.
Спасибо, Джованни
Я бы не подумал, что вам придется делать что-то слишком "особенное", чтобы web.py обслуживал JSON.
import web
import json
class index:
def GET(self):
pyDict = {'one':1,'two':2}
web.header('Content-Type', 'application/json')
return json.dumps(pyDict)
Конечно, можно обслуживать JSON из webpy, но если вы выбираете фреймворк, я бы посмотрел на starlight и my fork twilight (для документации).
Он имеет оболочку JSON для исправления заголовков http для вашего ответа json.
он использует библиотеки json или simplejson для обработки json преобразований в другие объекты и обратно.
Я использую его прямо сейчас, и это здорово.
https://bitbucket.org/marchon/twilight
в нем вы найдете пример под названием ShowMeTheJson.py
, который использует простой json
from starlight import *
from werkzeug.routing import Map
from werkzeug.routing import RuleFactory
import simplejson
class ShowMeTheResponses(App):
####################################################################
#
# Sample URLS to Test Responses
#
# http://localhost:8080/ root
#
# http://localhost:8080/json return JSON Mime Type Doc
#
###################################################################
@default
def hello(self):
return 'Hello, world!'
@dispatch('/')
def index(self):
return 'Hello Root!'
@dispatch('/html')
def indexhtml(self):
return HTML('Hello HTML')
@dispatch('/json')
def indexjson(self):
directions = {'N' : 'North', 'S' : 'South', 'E':'East', 'W' : 'West'}
return JSON(simplejson.dumps(directions))
if __name__ == '__main__':
from werkzeug import run_simple
run_simple('localhost', 8080, ShowMeTheResponses())