pythonrestful接口返回json utf8_python - flask-restful 中文返回的响应变成了 unicode literal...

问 题

下面的示例代码,运行在 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/')

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: 中文한국어"

解决方案

指定 RESTFUL_JSON 配置项:

app = Flask(__name__)

app.config.update(RESTFUL_JSON=dict(ensure_ascii=False))

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值