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

Jinja2模板:如何跳过数组元素的name键并调整循环输出格式?

Jinja2模板修正方案

原始变量结构

foo:
   - name: name-1
     var1_1: xxx
     var1_2: yyy
     var1_N: NNN
   - name: name-2
     var2_1: xxx
     var2_2: yyy
     var2_N: NNN

目标输出格式

- name: 'name-1'
  configs:
  - var1_1: xxx
    var1_2: yyy
    var1_N: NNN
- name: 'name-2'
  configs:
  - var2_1: xxx
    var2_2: yyy
    var2_N: NNN

当前模板的问题

  1. 内层循环会为每个键值对单独生成一个-开头的条目,不符合目标格式要求
  2. 未过滤name键,导致该键会被错误输出到configs区域

修正后的Jinja2模板

{% for item in foo %}
- name: '{{ item.name }}'
  configs:
  - {% for key, value in item.items() if key != 'name' %}
    {{ key }}: {{ value }}
    {% endfor %}
{% endfor %}

关键调整说明

  • 在内层循环添加if key != 'name'条件,直接过滤掉name键,确保它只出现在外层的name字段中
  • 将所有非name的键值对放在同一个-条目下,内层循环仅负责输出键值对内容,不会重复生成-,实现目标格式的结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:15:35