如何在Spring Boot中用Thymeleaf动态循环JSON文件
解决Thymeleaf遍历List<Map<String, Object>>生成JSON的问题
你需要修改JSON模板,利用Thymeleaf的循环语法遍历List中的每个Map对象,同时保证生成的JSON格式合法。以下是调整后的模板代码:
[ <th:block th:each="item, iterStatus : ${data}"> { "name": "[(${item['name']})]", "profession": "[(${item['profession']})]" }<th:block th:if="${!iterStatus.last}">,</th:block> </th:block> ]
关键说明:
- 外层用
[]包裹,对应List的数组结构 <th:block th:each="item, iterStatus : ${data}">:遍历名为data的List集合,item指代当前循环的Map对象,iterStatus是循环状态变量- 每个
item的字段引用逻辑和单个Map时一致,仅将原data替换为当前循环的item <th:block th:if="${!iterStatus.last}">,</th:block>:通过状态变量判断是否为最后一个元素,仅在非最后一个元素后添加逗号,避免JSON格式错误
生成的最终JSON示例:
处理后会输出合法的JSON数组:
[ { "name": "Wayne Rooney", "profession": "Footballer" }, { "name": "Cristiano Ronaldo", "profession": "Footballer" }, { "name": "Sir Alex Ferguson", "profession": "Manager" } ]
内容的提问来源于stack exchange,提问作者nickgkd
相关产品推荐
相关产品推荐

