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

如何在Jinja2中将字符串转换为字典并访问其属性?

解决Jinja2中JSON字符串无法直接访问属性的问题

你的data变量本质是JSON格式的字符串,不是Jinja2能直接解析的字典对象,所以直接用{{data.a}}这种点语法肯定访问不了。

在Jinja2里可以用内置的fromjson过滤器把JSON字符串转换成字典,之后就能正常访问属性了:

  • 直接链式调用过滤器访问:

    {{ data|fromjson.a }} --> 1
    {{ data|fromjson.b }} --> 2
    
  • 如果需要多次访问这个字典的属性,建议先把转换后的结果赋值给一个变量,避免重复转换:

    {% set data_dict = data|fromjson %}
    {{ data_dict.a }} --> 1
    {{ data_dict.b }} --> 2
    {{ data_dict.c }} --> 3
    

如果担心JSON格式可能出错导致渲染失败,可以给fromjson加默认值和错误忽略参数,这样即使字符串格式不对也不会抛出异常:

{{ data|fromjson({}, true).a }}

这里第一个参数{}是格式错误时返回的默认空字典,第二个参数true表示忽略解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:00:31