본문 바로가기
파이썬

파이썬 Bottle을 사용하여 JSON 배열을 어떻게 반환합니까?

by º기록 2021. 2. 8.
반응형


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 배열을 반환 할 수 있습니까?

 

해결 방법

 


이 작업이 정말로 필요한 경우 수행 할 수 있습니다.

@route('/array')
def returnarray():
    from bottle import response
    from json import dumps
    rv = [{ "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" }]
    response.content_type = 'application/json'
    return dumps(rv)

 

참조 페이지 https://stackoverflow.com/questions/12293979

 

 

반응형

댓글