Twig 与 Symfony 2 显示 prod 和 dev 之间不同的 json 编码变量

2024-02-07

我们正在构建一个 Symfony 2 应用程序,它将一些数据从控制器发送到视图:

控制器

$user = array(
    'configuration' => array(
        'levels' => array(
            'warning' => 0.05,
            'danger'  => 0.10,
        ),
    ),
);

return $this->render(
    'MyWebsiteBundle:Core:searchResults.html.twig',
    array(
        'userJSON'  => json_encode($user)
    )
);

View

<script language="javascript">
    user = $.parseJSON("{{ userJSON }}");
</script>

Result

On dev结果如下所示并且按预期工作:

user = $.parseJSON("\x7B\x22configuration\x22\x3A\x7B\x22levels\x22\x3A\x7B\x22warning\x22\x3A0.05,\x22danger\x22\x3A0.1\x7D\x7D\x7D");

另一方面,关于prod结果以不同的方式编码,从而在控制台中显示错误:

user = $.parseJSON("{&quot;configuration&quot;:{&quot;levels&quot;:{&quot;warning&quot;:0.05,&quot;danger&quot;:0.1}}}");

控制台错误:未捕获的语法错误:意外的标记&

是什么产生了这种差异?


Edit:另请检查下面@Lulhum 的解决方案。如果它更好,请投票,这样我就会选择它作为正确答案。

“问题”是 Twig 自动转义变量。我用的是Twig的raw过滤器跳过自动转义,如下所示:

<script language="javascript">
    user = $.parseJSON('{{ userJSON | raw }}');
</script>

现在它打印:

user = $.parseJSON('{"configuration":{"levels":{"warning":0.05,"danger":0.1}}}');

Links: Symfony 2 文档 - 输出转义 http://symfony.com/doc/current/book/templating.html#output-escaping

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Twig 与 Symfony 2 显示 prod 和 dev 之间不同的 json 编码变量 的相关文章

随机推荐

  • pandas 数据帧上的 s3fs gzip 压缩

    我正在尝试使用以下方法在 S3 上将数据帧写入为 CSV 文件s3fs https github com dask s3fs图书馆和熊猫 尽管有文档 但我担心 gzip 压缩参数不适用于 s3fs def DfTos3Csv df file
  • C++ 模板函数在头文件中编译,但在实现中不编译

    我正在尝试学习模板 但遇到了这个令人困惑的错误 我在头文件中声明了一些函数 并且我想创建一个单独的实现文件来定义这些函数 这是调用标头的代码 dum cpp include
  • 如何为AWS RDS实例设置数据库时区[重复]

    这个问题在这里已经有答案了 我们在 AWS RDS 实例上使用最新的 MySQL 服务器 并配置为在美国东部数据中心运行它 我们假设任何新的 Date 或 Time now 调用都会将日期存储在数据库服务器运行的时区中 有没有办法让我在美国
  • 在缩略图中调整图像 WordPress - woocommerce

    我尝试了很多技巧 用谷歌搜索了很多网站 使用了很多 WordPress 插件 但都失败了并且厌倦了 我正在运行一个优惠券 交易网站 我的问题是我想完全显示产品图像而不进行任何裁剪 即使它的尺寸很小 原始图像是https postimg or
  • 字符出现频率

    我正在尝试使用查找文件中字符的频率Haskell 我希望能够处理大约 500MB 大小的文件 到目前为止我已经尝试过的 它完成了这项工作 但有点慢 因为它解析了文件 256 次 calculateFrequency L ByteString
  • 如何隐藏滚动条并保持内容可滚动? [复制]

    这个问题在这里已经有答案了 我想将我的 html 页面打印到 PDF 文件中 但不希望滚动条显示在 PDF 文件中 我的页面有一个可滚动的主体 所以如果我这样设置 overflow hidden 最终 pdf 文件中的正文将不完整 那么 是
  • 用于匹配多种类型编号列表的正则表达式

    我想创建一个 PCRE 正则表达式来匹配所有常用的编号列表 并且我想分享我的想法并收集有关执行此操作的方法的输入 我将 列表 定义为一组规范的盎格鲁撒克逊约定 即 Numbers 1 2 3 1 2 3 1 2 3 1 2 3 1 1 1
  • UILabel设置透明背景色?

    我希望在我的视图中添加一个带有透明背景的黑色标签 见下文 ADD LABEL UILabel label UILabel alloc init label setFrame CGRectMake 124 312 72 35 label se
  • Intellij idea无法解决maven中的任何问题

    我刚刚导入了一个项目pom xml 但 IDE 没有解决 Maven 依赖项中的任何内容 任何定义在pom xml代码中导入时的依赖项引发错误cannot resolve symbol xxxxx But mvn install会起作用 我
  • vim - 在“替换”表达式中调用函数

    我知道你可以在 vim 搜索 替换操作中调用函数 例如 s regex localtime g 将用当前纪元时间替换任何匹配 正则表达式 的内容 问题是 我无法在 替换 表达式中添加任何其他内容 例如 s regex epoch local
  • 是否可以在华为设备上实现Firebase动态链接?

    我创建了使用动态链接的android应用程序 FirebaseApp initializeApp context Firebase dynamicLinks getDynamicLink intent addOnSuccessListene
  • 用于运行 pytest 的 Azure 自托管代理

    我已经在本地虚拟机上安装了一个自托管代理 它连接到 azure 没有任何问题 我在 azure DevOps 上有一个 python 代码 我已将所有requirements txt要求手动安装到本地VM的cmd行中 以便安装在其上的自托管
  • 从 ImageField Django 2.0 获取 EXIF 数据

    我正在执行提取通过 DJANGO 2 1 2 上传的照片的 exif 数据的任务 这是我的 model py 更新型号 class UploadedImage models Model image models ImageField Upl
  • Shell GNU-Screen -X 的问题

    OPTIONS java Xms1024M Xmx1024M jar craftbukkit jar PROCESS server01 screen dmS PROCESS OPTIONS nogui Starting the applic
  • 高效替换 text2vec 中的单词

    我有一个很大的文本正文 我想有效地用它们各自的同义词替换单词 例如 用同义词 汽车 替换所有出现的 汽车 但我很难找到一种合适的 有效的方法 来做到这一点 为了后面的分析 我使用text2vec库 并且也想使用该库来完成此任务 避免tm以减
  • 如何创建一个 ImageView 填充父级高度并显示尽可能大的 Image?

    我有一个按以下方式定义的 ImageView
  • 从 C# 运行宏 [重复]

    这个问题在这里已经有答案了 我知道你可以使用Microsoft Office Interop Excel 在 C 程序中使用 VBA 命令 我有接近 10 000 行代码的 VBA 将其转换为 C 兼容命令是不现实的 它创建一个工作簿并执行
  • 有没有更好的方法来控制子进程的 PYTHONPATH?

    我有一组必须动态修改 os sys path 的脚本 然后脚本启动一个子进程 理想情况下 子进程应与调用者具有相同的 os sys path 我想避免将其作为参数传递 因为这需要修改子进程脚本 我有可以运行并满足我所有需求的代码 我想知道是
  • 尝试将所有组件更改为es6

    我正在尝试将所有组件更改为 es6 我做了两个 但不知道第三个该怎么做 你能告诉我如何改变它吗 下面提供我的代码 export default class FirstTimeTab extends React Component getIn
  • Twig 与 Symfony 2 显示 prod 和 dev 之间不同的 json 编码变量

    我们正在构建一个 Symfony 2 应用程序 它将一些数据从控制器发送到视图 控制器 user array configuration gt array levels gt array warning gt 0 05 danger gt