Python 瓶子和Json

Python 瓶子和Json,python,json,bottle,Python,Json,Bottle,如何从瓶子请求处理程序返回json数据。我在瓶子src中看到了dict2json方法,但我不确定如何使用它 文档中的内容: @route('/spam') def spam(): return {'status':'online', 'servertime':time.time()} 当我打开页面时,会给出以下信息: <html> <head></head> <body>statusservertime</body&

如何从瓶子请求处理程序返回json数据。我在瓶子src中看到了dict2json方法,但我不确定如何使用它

文档中的内容:

@route('/spam')
def spam():
    return {'status':'online', 'servertime':time.time()}
当我打开页面时,会给出以下信息:

<html>
    <head></head>
    <body>statusservertime</body>
</html>

状态服务器时间

只需返回一个dict。瓶子为您处理到JSON的转换

甚至字典也是允许的。它们转换为json并返回,内容类型头设置为application/json。要禁用此功能(并将DICT传递到中间件),可以将瓶子.default_app().autojson设置为False

取自


返回{'status':'online','servertime':time.time()}
对我来说非常有效。您是否导入了时间

这项工作:

import time
from bottle import route, run

@route('/')
def index():
    return {'status':'online', 'servertime':time.time()}

run(host='localhost', port=8080)

出于某种原因,瓶子的自动json功能不适合我。如果它对您也不起作用,您可以使用此装饰器:

def json_result(f):
    def g(*a, **k):
        return json.dumps(f(*a, **k))
    return g
也很方便:

def mime(mime_type):
    def decorator(f):
        def g(*a, **k):
            response.content_type = mime_type
            return f(*a, **k)
        return g
    return decorator

试试看,这应该是预期的效果

from bson.json_util import dumps
from bottle import route, run
import time

@route('/')
def index():
     return {'status':'online', 'servertime':dumps(time.time()) }

run(host='localhost', port=8080)

使用瓶子的请求模块很容易获得json

from bottle import request

json_data = request.json # json_data is in the dictionary format

我转到flask,它工作得很好。您也可以先使用导入json,然后使用json.dumps(dict)。但很好的举动,我也在瓶子和烧瓶之间徘徊,最终选择了烧瓶。我喜欢瓶子很轻,而且后面没有更大的框架。但是像键入url参数这样的东西总是能让我赢回来,因为我做了诸如日期检测或索引之类的事情,例如/blog///Where-瓶子只有:param名称。因此,带有4个斜杠的路径并不总是日期/博客类型的url。我两者都用,但由于这样的原因,我现在倾向于开发更大的应用程序。我也有这个问题。当我使用curl-I时,我发现内容类型是错误的:内容类型:text/html;charset=UTF-8这对我不起作用。我确实需要时间。我猜这是一个与版本相关的行为改变。这对我来说非常有用,因为我返回了字典数组,而这不是由瓶子处理的。你不应该返回字典列表,这就是为什么瓶子让它变得如此困难(还有瓶子)。请看这里:返回词典列表现在很好。这实际上并没有回答这个问题
from bottle import request

json_data = request.json # json_data is in the dictionary format