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

Twig对象数组转JavaScript数组失败:json_encode返回空数组求助

解决Twig数组转JavaScript数组/对象返回空的问题

我来帮你搞定这个问题!你遇到的空数组问题,核心原因是Twig默认的HTML转义机制干扰了JSON的解析,下面给你具体的解决方案和解释:

问题根源

你直接使用{{ itm|json_encode }}时,Twig会自动转义HTML特殊字符(比如双引号会被转换成")。输出到页面的内容会变成类似这样的转义字符串:

var arrAll = [{"Test1":"Testtt1","Test2":"Testtt2"}];

这种转义后的内容不是有效的JSON格式,JavaScript自然无法正确解析,最终得到空数组或者解析错误。

正确解决方案

只需要在json_encode后面加上raw过滤器,禁用Twig的自动转义,让JSON保持原始格式:

Twig代码示例

{# 你的Twig数组定义示例 #}
{% set itm = [{"Test1": "Testtt1", "Test2": "Testtt2"}] %}

JavaScript代码示例

var arrAll = {{ itm|json_encode|raw }};

验证效果

添加完代码后,你可以在浏览器控制台打印arrAll,就能看到预期的结果:

console.log(arrAll);
// 输出:[{Test1: "Testtt1", Test2: "Testtt2"}]

这样就能顺利把Twig的数组/对象转换成JavaScript可识别的结构啦!

内容的提问来源于stack exchange,提问作者Bleron Parduzi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 08:12:39