• Flask 学习8. jsonify返回中文没正常显示问题 上海


    前言

    Flask 接口返回的json 格式数据有中文的时候,默认是以ASCII码 返回的,没正常显示中文。

    jsonify 返回 json 数据

    函数直接返回dict 数据 或返回jsonfy() 函数处理的数据,都是以json格式返回的

    from flask import Flask, jsonify
    from flask import render_template
    from flask import request
    app = Flask(__name__)
    
    
    @app.route('/json1', methods=['GET'])
    def json_demo1():
        user = request.args.get('user')
        return {"code": 0, "data": user, "msg": "查询成功"}
    
    
    @app.route('/json2', methods=['GET'])
    def json_demo2():
        user = request.args.get('user')
        return jsonify({"code": 0, "data": user, "msg": "查询成功"})
    
    
    if __name__ == '__main__':
        app.run()
    

    访问接口

    接口返回

    {"code":0,"data":"\u4e2d\u6587","msg":"\u67e5\u8be2\u6210\u529f"}
    

    中文没正常显示

    config 编码设置

    第一种解决办法,可以设置全局config 编码

    from flask import Flask, jsonify
    from flask import render_template
    from flask import request
    app = Flask(__name__)
    
    # 使通过jsonify返回的中文显示正常,否则显示为ASCII码
    app.config["JSON_AS_ASCII"] = False
    
    
    @app.route('/json1', methods=['GET'])
    def json_demo1():
        user = request.args.get('user')
        return {"code": 0, "data": user, "msg": "查询成功"}
    

    再访问接口就可以看到中文正常显示

    json.dumps()解决同样的问题可以加入ensure_ascii=False

  • 相关阅读:
    一款jquery写出来的tab切换
    mouseenter 事件,固定右侧客服特效
    一款兼容pc 移动端的tab切换
    EhCache缓存
    HTML5中与页面显示相关的API
    JAVA获取客户端IP地址
    Oracle11g导出空表
    css兼容问题集合
    使用Java修改Windows注册表
    常用的SQL分页
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/16613356.html
Copyright © 2020-2023  润新知