webpy:如何提供 JSON 服务

发布于 2024-09-15 02:21:09 字数 133 浏览 3 评论 0原文

是否可以使用 webpy 来提供 JSON 服务? 我构建了自己的网站,需要以 JSON 格式提供一些信息,以便与某些页面上的 Javascript 进行交互。

我尝试在文档中寻找答案,但找不到任何东西。

谢谢, 乔万尼

Is it possible to use webpy to serve JSON?
I built my website and I need to serve some information in JSON to interact with the Javascript on some pages.

I try to look for answers in the documentation, but I'm not able to find anything.

Thanks,
Giovanni

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疯到世界奔溃 2024-09-22 02:21:09

我认为您不必为 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)

I wouldn't think you'd have to do any thing overly "special" for web.py to serve 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)
甜点 2024-09-22 02:21:09

当然可以从 webpy 提供 JSON,但是如果你选择一个框架,我会看看 starlight 和我的 fork twilight (用于文档)。

它有一个 JSON 包装器,用于修复 json 响应的 http 标头。

它使用 json 或 simplejson 库来处理与其他对象之间的转换。

我现在正在使用它,非常棒。

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())

It is certainly possible to serve JSON from webpy, But if you and choosing a framework, I would look at starlight and my fork twilight (for documentation).

It has a JSON wrapper for fixing the http headers for your json response.

it uses either the json or simplejson libraries for json handling the conversions to and from other objects.

I am using it right now and it is great.

https://bitbucket.org/marchon/twilight

in it you will find an example called ShowMeTheJson.py

that uses simple 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())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文