烧瓶jsonify打印结果在新线条上



第一次使用烧瓶,我创建了一个非常基本的应用程序,并且正在尝试打印推荐系统的结果。第一组代码来自我的Python函数(print_mastrongimilar(,并且正在创建一个格式化的字符串,希望在新线路上打印每个Rec。代码的第二部分显然是我的烧瓶路由。您可以看到烧瓶部件调用该功能,因此将其返回" y"。我相信jsonify不会采用 n字符。我尝试在字符串格式中仅使用' n',但它只是作为字符串出现。和' t'。

for k in range(len(sugg)):
    x = str("REC {}: {}\n".format(k+1, sugg[k]))
    y += x
return y
@app.route("/getrecomm",methods=['GET','POST'])
def getrecomm():
    restname = request.args.get('restname', type=str)
    number = request.args.get('number', type=int)
    i = getBusIndex(restname, names)
return make_response(jsonify(result=(print_most_similar(rating, names, i, number))),200)

目前,结果打印出来:Rec 1:Harbor House Cafe&休息室 NREC 2:星巴克 nRec 3:麦当劳 nRec 4:塔科·贝尔 nRec 5:熊猫Express n

我希望他们这样打印:Rec 1:Harbor House Cafe&休息室rec 2:星巴克rec 3:麦当劳rec 4:炸玉米饼Rec 5:Panda Express

我正在使用Python 3,仅供参考。任何建议都将不胜感激!

摘要

  • 答案<br>
  • 替代性:JSONVIEW CHROME扩展

唯一给我好结果的是<br>

示例

from flask import Flask, jsonify
app = Flask(__name__)
tasks = [
    {
        '<br>id': 1,
        'title': u'Buy groceries',
        'description': u'Milk, Cheese, Pizza, Fruit, Tylenol', 
        'done': False
    },
    {
        '<br>id': 2,
        'title': u'Learn Python',
        'description': u'Need to find a good Python tutorial on the web', 
        'done': False
    }
]
@app.route('/todo/api/v1.0/tasks', methods=['GET'])
def get_tasks():
    return jsonify({'tasks': tasks})
if __name__ == '__main__':
    app.run(debug=True)

在您的浏览器中,<br>字符将呈现为HTML并复制一条新行。

结果:
"在JSON中创建"新行

jsonify无法帮助您,因为它将值(整数,布尔值,浮点等(作为字符串,并避免使用特殊字符,例如 nt

最后,如果您只想一种奇特的方式来可视化浏览器中的JSON文件,则可以使用JSONVIEW,是一种以更易于理解的方式渲染JSON文件的Chrome扩展名。

用jsonview

渲染

最后我找到了解决方案。

jsonify()函数似乎不应用"新行"。情况。

您可以使用Response()

from flask import Flask, Response
statement = """
        try
        try
        try
        """
@app.route('/**/api/v1/**', methods=['GET'])
def get_statement():
    return Response(statement, mimetype='text/plain')

我也是烧瓶的新学习者,Response()功能在我的应用程序上起作用。

最新更新