Я пишу API, используя Bottle, и пока это было фантастически. Однако я столкнулся с небольшим препятствием при попытке вернуть массив 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" }
/containsarray
{ "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 таким образом?