You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jinja2中处理值被单引号包裹的JSON数据

问题分析与解决方法

你的核心问题是:stockdatalist['TATACONSUM']存储的是JSON格式的字符串,而非可直接访问属性的Python字典或对象,所以模板中stockdata.price无法读取到对应值,导致显示空白。

方案一:后端转换(推荐)

在routes.py中使用json.loads()将JSON字符串转为Python字典,再传入模板:

import json

return render_template(
    "test.html",
    stockdatalist={"TATACONSUM": json.loads('{"price":"123"}')}
)

此时模板中原有代码{% set stockdata = stockdatalist['TATACONSUM'] %}后,{{ stockdata.price }}就能正常输出123。

方案二:前端模板转换

如果无法修改后端逻辑,可使用Jinja2内置的fromjson过滤器,在模板中将JSON字符串解析为可操作对象:

{% set stockdata = stockdatalist['TATACONSUM']|fromjson %}
<p> {{ stockdata.price }} </p>

为什么之前的尝试无效?

  • 使用json.dumps()是把Python对象转为JSON字符串,和你需要的解析字符串为对象的操作方向相反,所以没用。
  • |tojson过滤器的作用是把Python对象转为JSON字符串,同样是反向操作,无法解决你的问题。

内容的提问来源于stack exchange,提问作者Pratik Ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 22:05:06