Json Twig嵌套循环中的双输出

Json Twig嵌套循环中的双输出,json,for-loop,twig,Json,For Loop,Twig,我的数据来自以下格式的JSON文件: { "primeNav": { "items": [ { "text": "item", "url": "url1", "sub": [ { "text": "subitem", "url": "url2", }, { "text": "subitem2",

我的数据来自以下格式的
JSON
文件:

{
  "primeNav": {
    "items": [
      {
        "text": "item",
        "url": "url1",
        "sub": [
          {
            "text": "subitem",
            "url": "url2",
          },
          {
            "text": "subitem2",
            "url": "url3",
          }
        ]
      }
    ]
  }
}
当我尝试这样做时:

<ul>
  {%- for item in primeNav.items -%}
    <li><a href={{ item.url }}>
      {{- item.text -}}
      {%- if item.sub -%}
        <ul>
          {%- for subItem in item.sub -%}
            <li><a href="{{ subItem.url }}">
              {{- subItem.text -}}
            </a></li>
          {%- endfor -%}
        </ul>
      {%- endif -%}
    </a></li>
  {%- endfor -%}
</ul>
    {%-对于primeNav.items-%}
  • {%-endfor-%}
{%-endif-%} {%-endfor-%}
我得到的输出是(无空格):

由于某种原因,我无法完全获得
打印在第二个
ul
中,并且每个子
li
的打印方式似乎与我的模板不一致


如果您有任何想法,我们将不胜感激。

您为什么要嵌套
?这是允许的吗?你是从浏览器开发工具中得到html的吗?也许浏览器正试图对无效的嵌套
执行某些操作?谢谢!我不是有意要嵌套
s。这很可能就是问题所在
<ul>
  <li>
    <a href="url1">item</a>
    <ul>
      <a href="url1"></a>
      <li>
        <a href="url"></a>
        <a href="url2">subitem</a>
      </li>
      <li>
        <a href="url"></a>
        <a href="url3">subitem2</a>
      </li>
    </ul>
  </li>
</ul>