(注:これはそのように閉じるよう投票しましたが、それは決して起こらない可能性がありますので、ここで情報を明示的に配置してください。イエローの情報バナーが誰でも、 )なぜボトルリターンリストはありませんか?
私はbottle
を使用して、リストのJSON表現を返したい:http://127.0.0.1:8080/dict
戻り{"who": {"name": "John"}}
とContent-Type
を呼び出す
import bottle
def ret_dict():
return {
"who": {"name": "John"}
}
def ret_list():
return [
{"name": "John"}
]
app = bottle.Bottle()
app.route('/dict', 'GET', ret_dict)
app.route('/list', 'GET', ret_list)
app.run()
はapplication/json
に設定されています。これで結構です。 http://127.0.0.1:8080/list
を呼び出す
は500
を返します。
Error: 500 Internal Server Error Sorry, the requested URL
' http://127.0.0.1:8080/list ' caused an error:
Unsupported response type: < class 'dict' >
のPythonコンソールには何のエラーもトレースバックがありません。
同時にリストがJSONにシリアライズすることができます。
>>> import json
>>> json.dumps([{"name": "John"}])
'[{"name": "John"}]'
list
を返すようにしようとしたときbottle
にエラーが発生しないのはなぜ?(そして喜んでdict
を返す)
ボトルの作者になぜ彼がそうしたのかを質問します。 – furas