我正在使用Bottle编写一个 API ,到目前为止这非常棒。但是,在尝试返回 JSON 数组时遇到了一个小障碍。这是我的测试应用程序代码:
from bottle import route, run
@route('/single')
def returnsingle():
return { "id": 1, "name": "Test Item 1" }
@route('/containsarray')
def returncontainsarray():
return { "items": [{ "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" }] }
@route('/array')
def returnarray():
return [{ "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" }]
run(host='localhost', port=8080, debug=True, reloader=True)
当我运行它并请求每条路由时,我会从前两条路由中得到我期望的 JSON 响应:
/单身的
{ id: 1, name: "Test Item 1" }
/包含数组
{ "items": [ { "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" } ] }
所以,我曾期望返回一个字典列表来创建以下 JSON 响应:
[ { "id": 1, "name": "Test Object 1" }, { "id": 2, "name": "Test Object 2" } ]
但是请求/array
路由只会导致错误。我做错了什么,如何以这种方式返回 JSON 数组?