Flask jsonify在新行

时间:2017-06-03 23:48:44

标签: python html json flask

第一次使用Flask,我创建了一个非常基本的应用程序,我正在尝试打印推荐系统的结果。第一组代码来自我的python函数(print_most_similar),并创建一个格式化的字符串,希望在新行上打印每个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& Lounge \ nREC 2:星巴克\ nREC 3:麦当劳\ nREC 4:Taco Bell \ nREC 5:Panda Express \ n

我希望他们像这样打印: REC 1:Harbor House Cafe&休息室 REC 2:星巴克 REC 3:麦当劳 REC 4:塔可钟 REC 5:Panda Express

我正在使用python 3,fyi。任何建议都将超级赞赏!

1 个答案:

答案 0 :(得分:1)

摘要

  • 回答<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并重现一个新行。

结果:
"creates" new lines in json

Jsonify无法帮助你,因为它将值(整数,布尔值,浮点数等)作为字符串,并避免使用\n\t等特殊字符

最后,如果你只是想要一种在浏览器中可视化json文件的奇特方式,你可以使用JSONView,这是一个Chrome扩展,以更容易理解的方式呈现Json文件,就像这样。

rendering with JSONView