0

当我对数组使用单个模板值替换时,jinja 会向数组中添加一个额外的单引号块。我不想要额外的单引号。是否有可能做到这一点?我目前的方法是手动重建阵列。我在 python 脚本中使用 jinja2。

IE

替换型号:

      "powers":[
       "\"Radiation Resistance\"",
       "\"Turning tiny\"",
       "\"Radiation blast\""
      ]

损坏的模板:

      "powers": [
        {{model['members']['powers']}}
      ]

结果:

"powers: ['"Radiation Resistance"','"Turning Tiny"','"Radiation blast"']

我想要的结果:

"powers: ["Radiation Resistance","Turning Tiny","Radiation blast"]

Jinja 插件不断向 json 数组中的项目添加单引号,尽管它没有它们。我尝试转义等,但似乎没有任何效果,也找不到任何以前提出的问题。

我“修复它”的方法是在模板中重建数组,但这似乎是一个糟糕的解决方法,对于一个包含 100 个项目的数组来说是不可行的。


{
{
      "powers": {
        "rad": "\"Radiation Resistance\"",
        "turn": "\"Turning tiny\"",
        "radblast": "\"Radiation blast\""
      }
  }
}

这是原始文档片段

  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    },

这是我正在使用的模板,为了复制原始模板 - 我必须做一些“hacky”并且基本上手动重新创建数组。这似乎并不理想,对于大型阵列来说会很笨重

      "powers": [
        {{model['members']['powers']['rad'] }},
        {{model['members']['powers']['turn'] }},
        {{model['members']['powers']['radblast'] }}
      ]
    },

有一个更好的方法吗?当我对数组使用单个模板值替换时,jinja 会向数组添加一个额外的单引号块

4

0 回答 0