3
가 나는 MongoDB를 수집에서 플라스크를 사용하여 응답을 만들기 위해 노력하고있어 슬래시를 포함PyMongo와 플라스의 Jsonify 탈출이
@app.route('/stories', methods = ['GET'])
def get_stories():
stories = db.stories.find()
json_docs = [json.dumps(doc, default=json_util.default) for doc in stories]
resp = jsonify(data=json_docs)
resp.status_code = 200
return make_response(resp)
이 모든 항목을 가져오고 JSON 응답으로 인코딩하지만 다음과 같습니다 :
{
"data": [
"{\"content\": \"some story here\", \"_id\": {\"$oid\": \"5293c34431e20307544db9cb\"}}",
"{\"content\": \"some story here\", \"_id\": {\"$oid\": \"5293c34d31e20307584c3e6e\"}}",
"{\"content\": \"some story here\", \"_id\": {\"$oid\": \"5293c57d31e20307a7b40abe\"}}"
]
}
작은 따옴표를 사용하여 이스케이프 문자열을 추가하지 않도록 인코딩 할 수 있습니까?
json_docs = [json.dumps(doc, default=json_util.default) for doc in stories]
resp = jsonify(data=json_docs)
지금
json_docs
의 각 항목은 JSON 개체를 나타내는 문자열입니다 아니면이 두 번
을 인코딩하는
내가 이것을 시도했을 때, 그것은'Cursor JSON serializable not type '에러를 준다. 나는 꽤 확신한다. ObjectID와 관련이있다. 그걸 json으로 변환하는 방법을 알고 싶습니까? – Chris
@Chris :'jsonify()'는'default' 핸들러를 지정할 수 없으므로'Json.dumps()'의 반환 값으로 직접'Response()'객체를 직접 만들고 싶습니다. –
고마워, 지금 이걸 이해해. :) – Chris