【问题标题】:Flask jsonify print results on new linesFlask jsonify 在新行上打印结果
【发布时间】:2017-11-05 01:58:12
【问题描述】:

第一次使用 Flask,我创建了一个非常基本的应用程序,我正在尝试打印推荐系统的结果。第一组代码来自我的 python 函数 (print_most_similar),它正在创建一个格式化的字符串,希望在新行上打印每个 REC。第二段代码显然是我的flask路由。可以看到flask部分调用了函数,所以返回了'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:Harbour House Cafe & Lounge\nREC 2:星巴克\nREC 3:麦当劳\nREC 4:塔可钟\nREC 5:熊猫快车\n

我希望他们像这样打印: REC 1:Harbour House 咖啡厅和酒廊 REC 2:星巴克 REC 3:麦当劳 REC 4:塔可钟 REC 5:熊猫快递

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

【问题讨论】:

  • 您是否尝试过记录 jsonified 内容?是否包含\n 字符(在返回之前)

标签: python html json flask


【解决方案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)

在您的浏览器中,&lt;br&gt; 字符将呈现为 html 并重新生成一个新行。

结果:
"creates" new lines in json

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

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

rendering with JSONView

【讨论】:

  • 对我不起作用:仍然在浏览器中观看
    :(
  • @Mikhail_Sam 你能分享你的脚本/代码吗?
  • some_var = "some random text&lt;br&gt;" res = f"Connected successfully to Postgres Server:&lt;br&gt; {some_var}&lt;br&gt;" res += res "Connection closed" return jsonify(res) 仍然看到
    浏览器中没有换行
猜你喜欢
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 2014-08-15
相关资源
最近更新 更多