首页 > 解决方案 > 在 Twig 中构建有效的 json 对象

问题描述

所以我试图在 Twig 模板中构建一个 JSON 对象并遇到了一些问题。使用 Twig 响应类似这样的 POST 请求可以正常工作:

{"urls": ["/a","/b"]}

但是,如果有无效的 json,例如尾随逗号,像这样;

{"urls": ["/a","/b",,,,,]}

然后 javascript 在收到它时会抱怨(这是有道理的,因为它是无效的)。

由于尾随逗号,这样做总是会导致 JSON 无效:

{"urls": [
{% for i in objects %}
    "/img/example/'~i.get_url()",
{% endfor %}
]}

问题:

那么如何使用 Twig 循环对象数组并构建有效的 JSON 对象呢?

标签: phpjsonsymfonytwig

解决方案


您可以使用标准循环树枝变量检查是否是最后一次循环迭代,例如:

{"urls": [
{% for i in objects %}
    "/img/example/'{{i.get_url()}}"{% if not loop.last %}  , {%endif%}
{% endfor %}
]}

检查这个工作示例

希望这有帮助


推荐阅读