首页 > 解决方案 > 烧瓶到javascript,发送json,遇到无效的语法错误

问题描述

我在尝试使用烧瓶将 pandas to_json 对象发送到前端时遇到了这个错误。代码和错误如下所示:

df_higg_msi_scored_manual = pd.read_csv(r'static/CSVFiles/higg_msi_scored_manual.csv')    
materials = df_higg_msi_scored_manual.iloc[:33, 3]
material = materials.to_json(orient="values")
return render_template('/impacttool.html', material = material)
var user = JSON.parse('{{brand | tojson | safe}}');

无论生成的 json 文件多么有效,这都是弹出的错误:

在此处输入图像描述

根据我发送到前端的 json,我会得到意外的数字或意外的令牌,意外的令牌总是与 json 中第一个字符串的第一个字母匹配。有人可以帮我解决这个问题吗?我什至在烧瓶上尝试了 print(material),然后复制了打印到控制台的确切 json,将其分配给一个变量并将其发送到前端,它工作正常!但是由于某种原因,当我执行 to_json 并将其直接分配给变量时,它会引发此错误。如果有人知道如何解决它,我很想知道。谢谢你。

标签: javascriptpythonjson

解决方案


多亏了 RaphSinai,我找到了解决方案,这是因为 {{brands | tojson }} 被额外的双引号格式化为“[whatever...]” 而不仅仅是 [],所以我将代码从 material = materials.to_json(orient="values") 更改为 json.loads(material = material.to_json(orient="values")) 并且效果很好。


推荐阅读