javascript - 使用 Flask 发送 JSON 并使用 JavaScript 解析
问题描述
我正在尝试使用 Flask 返回 JSON 并将其发送到 html,然后使用 JS 解析它。但是,我的字符串正在被修改,这会引发错误。
我的 JSON 字符串如下所示:
json_to_parse = {"input":"noecall","output":"onecall","count":1},{"input":"oncall","output":"onecall","count":1}
输出:
var b = '{"input":"noecall","output":"onecall","count":1},{"input":"oncall","output":"onecall","count":1}';
它似乎将 " 转换为 " 并且它对 ' 执行相同的操作,但这会导致很多问题。
我的烧瓶返回码是:
return render_template("parse_json.html", json_to_parse = json_to_parse)
我试图用字符串做到这一点:
r = json.dumps(json_to_parse)
loaded_r = json.loads(r)
在 parse.json.html 这就是我获取字符串的方式:
var b = '{{ json_to_parse}}';
还尝试在字符串周围删除和添加 [],结果相同。
任何修复将不胜感激,尝试谷歌并用许多创造性的方式解决这个问题一段时间。但显然没有任何运气。
解决方案
从您提供的代码中并不完全清楚,但我认为问题在于 Jinja 转义了您的 JSON。在您的parse_json.html
中,您必须指定您的数据是“安全的”:
var b = '{{ json_to_parse|safe }}';
有关更多信息,请参阅有关 HTML 转义的文档:https ://jinja.palletsprojects.com/en/2.10.x/templates/#html-escaping和safe
过滤器:https ://jinja.palletsprojects.com/en/2.10 .x/模板/#safe
推荐阅读
- python - Pandas Dataframe 的递归字典
- c# - 之后检索所有内容?在查询字符串中
- python - 无法更新 anaconda -Error Corrupted Environment
- amazon-web-services - AWS 连接实例已删除
- docker - 有没有办法在 docker swarm 中运行备用服务?
- php - Wordpress:循环内的 preg_replace 仅偶尔有效
- c++ - 在构造函数中被删除后继续执行
- javascript - Prism.js - 如何获得在 / 使用 prism 的链接?
- java - 使用java将pairRDD转换为spark中的数据集
- indexeddb - 我们如何更新 IndexedDB 中的键路径值