Wie kann ich ein JSON-Array mit Bottle zurückgeben?

Ich schreibe eine API mitFlasche, was bisher fantastisch war. Ich bin jedoch auf eine kleine Hürde gestoßen, als ich versuchte, ein JSON-Array zurückzugeben. Hier ist mein Test-App-Code:

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)

Wenn ich dies ausführe und jede Route anfordere, erhalte ich die JSON-Antworten, die ich von den ersten beiden Routen erwarte:

/Single

{ id: 1, name: "Test Item 1" }

/ enthältarray

{ "items": [ { "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" } ] }

Daher hatte ich erwartet, eine Liste von Wörterbüchern zurückzugeben, um die folgende JSON-Antwort zu erstellen:

[ { "id": 1, "name": "Test Object 1" }, { "id": 2, "name": "Test Object 2" } ]

Aber fordern die/array Route führt nur zu einem Fehler. Was mache ich falsch und wie kann ich ein JSON-Array auf diese Weise zurückgeben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage