Tôi không thể tìm ra cách ép kiểu MIME application/json
cho chế độ xem trong Flask. Dưới đây là một cái nhìn đơn giản, tôi đã ném nhau cho các mục đích trình diễn:Bắt buộc áp dụng/json loại MIME trong chế độ xem (Bình)
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
return ret
Chuỗi JSON (tổ chức tại biến ret
) được thu thập từ các nơi khác (sử dụng thiết bị xuất chuẩn từ một chương trình sử dụng subprocess
) vì vậy tôi không thể sử dụng jsonify
được cung cấp với Flask.
Tôi đã xem câu hỏi về Stackoverflow "Returning Json" Documentation và this nhưng tôi chưa có bất kỳ may mắn nào cho đến thời điểm này. Tôi đã nhìn xung quanh một lúc bây giờ & sẽ tiếp tục tìm kiếm nhưng tôi nghĩ rằng tôi sẽ hỏi ở đây chỉ trong trường hợp có ai đó gặp phải vấn đề này.
Cảm ơn.
Xem answer below
Giải pháp:
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
resp = Response(response=ret,
status=200,
mimetype="application/json")
return resp
tôi tìm thấy trang web này hữu ích: Implementing a RESTful Web API with Python & Flask
+1 - Cảm ơn. Tôi đang nghịch với nó bây giờ. –
['make_response'] (http://flask.pocoo.org/docs/api/#flask.Flask.make_response) có lẽ là một lựa chọn tốt hơn trong trường hợp này. Sau đó thiết lập thuộc tính 'mimetype'. 'r = make_response (dữ liệu); r.mimetype = 'application/json'; return r' – soulseekah
Trước đó nên được chuyển thành câu trả lời đúng! –