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

Twig新手求助:如何通过循环获取数组中的question与answer

解决Twig循环提取问答数据的问题

你的代码没输出是因为没找准数组层级,直接遍历api_response会拿到status和data两个顶级键,但实际问答数据嵌套在data下的分类数组中,再藏在questions子数组里。

正确的Twig代码示例

{# 先校验接口请求状态(可选但推荐) #}
{% if api_response.status == 1 %}
  {# 遍历data下的所有分类(键为随机ID,值是分类详情) #}
  {% for category_id, category in api_response.data %}
    <h3>{{ category.name }}</h3>
    {# 遍历当前分类下的所有问答项 #}
    {% for qa in category.questions %}
      <div class="qa-item">
        <strong>问题:{{ qa.question }}</strong>
        <p>回答:{{ qa.answer }}</p>
      </div>
      <hr>
    {% endfor %}
  {% endfor %}
{% else %}
  <p>接口请求失败,请稍后重试</p>
{% endif %}

代码说明

  • api_response.data是存储分类的核心数组,每个分类以随机ID为键,包含name(分类名)和questions(问答列表)两个字段
  • 使用{% for category_id, category in api_response.data %}可以同时获取分类ID和分类内容(如果不需要ID,也可简化为{% for category in api_response.data %})
  • 内层循环{% for qa in category.questions %}直接遍历分类下的问答数组,就能直接提取question和answer字段

原代码无效的原因

原代码直接遍历api_response,第一次循环会拿到status(值为1)和data(分类数组)两个元素。当遍历data时,你仅输出了分类的键名(那些随机ID),没有深入到questions层级,自然看不到问答内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:20:56