JSON转换为Twig模板时循环遍历数组的问题求助
Twig 遍历JSON数组正确实现方案
1. 复杂货运信息数组处理
对应数组结构:
你之前的写法存在路径顺序错误、拼写错误问题,且硬编码下标无法适配动态数组长度,正确遍历写法如下:
<h3>Freight List Item</h3> {% for freightGroup in Result.FreightInformation %} {% for freightItem in freightGroup %} <div> Quantity: {{ freightItem.Item.Quantity }}<br> Dim Type: {{ freightItem.Item.DimType }}<br> Units: {{ freightItem.Item.Units }}<br> Commodity: {{ freightItem.Item.Commodity }}<br> Weight: {{ freightItem.Item.Weight }}<br> Length: {{ freightItem.Item.Length }}<br> Width: {{ freightItem.Item.Width }}<br> Height: {{ freightItem.Item.Height }}<br> Class: {{ freightItem.Item.Class }}<br> NMFC: {{ freightItem.Item.NMFC }}<br> Hazmat: {{ freightItem.Item.Hazmat }}<br> </div> <br> {% endfor %} {% endfor %}
2. 物流追踪信息数组处理
对应数组结构:
你之前的写法存在循环变量定义错误、冗余硬编码遍历范围的问题,正确遍历写法如下,直接使用Twig内置的loop.index作为序号,无需手动计数:
<h3>Tracking Information</h3> {% for trackItem in Result.TrackingInformation %} <p>{{ loop.index }} ). {{ trackItem.Item }}</p> <div> Person: {{ trackItem.Item.Person }}<br> Code: {{ trackItem.Item.Code }}<br> Status: {{ trackItem.Item.Status }}<br> Remarks: {{ trackItem.Item.Remarks }}<br> Date: {{ trackItem.Item.date }}<br> Time: {{ trackItem.Item.time }}<br> </div> <br> {% endfor %}
通用注意事项
- Twig支持两种数组访问写法:
数组[下标]和数组.下标,访问对象属性优先使用.语法 - 循环时直接使用
for 子项变量 in 目标数组语法,会自动遍历所有存在的元素,无需硬编码遍历范围 - 可直接使用Twig内置
loop变量获取循环状态:loop.index从1开始的序号、loop.index0从0开始的序号、loop.first是否为第一个元素、loop.last是否为最后一个元素 - JSON属性名大小写敏感,注意不要出现拼写错误
内容的提问来源于stack exchange,提问作者VWC
相关产品推荐
相关产品推荐

