flask框架的回复中显示中文utf8字符,而不是unicode-escape字符串

今天在用flask框架写http服务的时候,发现调用flask的jsonify函数得到的http回复包中的字文是用unicode-escape string表示的。如下: u5b57\u5173\u6ce8\u6211\u4eec\uff01 有些RESTful工具能够把unicode-escape字符串转成utf8,能够正常显示出中文。但很多编辑器和其它工具只能显示原本的unicode转义字符串,大大妨碍调试。解决方案是用flask的另一个函数:make_response解决这个问题。代码如下: from flask import Flask, jsonify, make_response def mk_utf8resp(js): ''' 传入一个字典,返回一个json格式的http回复。 ''' resp = make_response(json.dumps(js, ensure_ascii=False)) resp.headers['Content-Type'] = 'application/json' return resp 把jsonify(js)换成mk_utf8resp(js),问题解决。

December 3, 2018 · 1 min · kamus