flask-restful 中文返回的响应变成了 unicode literal

发布于 2022-09-04 21:07:30 字数 980 浏览 20 评论 0

下面的示例代码,运行在 Python 2.7 环境

pip install flask-restful flask
# -*- coding:utf-8 -*-
from flask import Flask
from flask_restful import Api, Resource, reqparse, marshal_with, fields

class Greetings(Resource):
    def get(self, message=None):
        message = '中文한국어'
        greeting = 'You have received a message: {0}'.format(message) if message else 'zzzzzzz......'
        return greeting, 200

app = Flask(__name__)

api = Api(app)

api.add_resource(Greetings, '/radio/', '/radio/<message>')


if __name__ == '__main__':
    app.run(port=8000,debug=True)

这是运行的结果:

? Discuq@iDocker: ~ => curl  http://127.0.0.1:8000/radio/ 
"You have received a message: \u4e2d\u6587\ud55c\uad6d\uc5b4"

期望得到的结果是:

? Discuq@iDocker: ~ => curl  http://127.0.0.1:8000/radio/ 
"You have received a message: 中文한국어"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゞ记忆︶ㄣ 2022-09-11 21:07:30

指定 RESTFUL_JSON 配置项:

app = Flask(__name__)
app.config.update(RESTFUL_JSON=dict(ensure_ascii=False))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文