我的烧瓶应用程序没有正确返回非ascii字符

问题描述 投票:1回答:1

我正在尝试使用flask-restful api,并且作为返回值,代码应该返回一个json数据列表。但是,当json中的内容是非ascii字符时(èòsèèò)返回值

这是一个示例代码:

#! /usr/bin/env python
# coding: utf-8

from flask import Flask, Response
from flask_restful import Resource, Api
import json

app = Flask(__name__)
# Create the API
API = Api(app)



@app.route('/')
def hello_world():
    return Response('Here, with Response it works well: höne')

class APICLASS(Resource):
    """

    """
    def get(self, id):
        return [
        {
        "hey": 11,
        "test": "höne"
        }], 200


API.add_resource(APICLASS, '/<string:id>')

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

但是当我在localhost上检查结果时,我看到以下输出:

[
        {
        "hey": 11,
        "test": "h\u00f6ne"
        }]
python utf-8 python-3.7 non-ascii-characters flask-restful
1个回答
3
投票

显然,它与this bug有关。我不确定是否有任何副作用,但这可能会有所帮助:

# ...
app = Flask(__name__)
# Create the API
API = Api(app)

API.app.config['RESTFUL_JSON'] = {
    'ensure_ascii': False
}

@app.route('/')
# Rest of your code
© www.soinside.com 2019 - 2024. All rights reserved.