使用Flask发送JSON并使用JavaScript解析

2024-06-01 07:55:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用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}';

它似乎将“转换为&;#34,对”也一样,但是这会导致很多问题

我的烧瓶返回代码是:

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}}';

还尝试在字符串周围删除并添加[],结果相同

任何修复都会非常感激,尝试谷歌,并在一段时间内用许多创造性的方法解决这个问题。但显然没有任何运气


Tags: to字符串jsonflaskinputoutputparsevar
1条回答
网友
1楼 · 发布于 2024-06-01 07:55:43

您提供的代码并不完全清楚,但我认为问题在于Jinja逃避了您的JSON。在parse_json.html中,必须指定数据是“安全的”:

var b = '{{ json_to_parse|safe }}';

有关更多信息,请参阅有关HTML转义的文档:https://jinja.palletsprojects.com/en/2.10.x/templates/#html-escapingsafe过滤器:https://jinja.palletsprojects.com/en/2.10.x/templates/#safe

相关问题 更多 >