首页 > 解决方案 > 在 Symfony 中渲染 JSON [特殊字符问题]

问题描述

我正在使用 symfony 开展一个项目,我正在使用 php 函数 file_get_contents 返回此页面的内容https://db.satnogs.org/api/satellites/?format=json 这基本上是一个 json 格式的内容.

问题是当我将内容渲染到树枝文件时,格式会像这样改变

[{"id":4105855,"start":"2021-05-14T10:45:53Z","end":"2021-05-14T10:50:41Z","ground_station
...

我试图通过替换“到”来清理特殊字符,但我仍然遇到问题,因为反斜杠字符在渲染时也消失了

例如,这是我要呈现的普通 json 格式

"client_metadata":"{\"radio\": {\"name\": \"gr-satnogs\",
...

这是我渲染 json 文件后的版本

"client_metadata":"{"radio": {"name": "gr-satnogs",

我试图放回 \ 字符,但我没有弄明白

我的问题是为什么 symfony 中的渲染函数会改变文件的格式,你知道如何在 symfony 中渲染正确的格式(我是否必须在渲染函数的参数中精确一些编码格式)?

如果您能帮助我,我将不胜感激!:)

标签: phphtmljsonsymfonyencoding

解决方案


我假设,你的 json 代码在一个变量中,比如json.

通常,所有输出变量都在 twig 中转义。所以,我认为你已经做了这样的事情:

{{ json }}

如果您确定数据被保存而没有被转义,您可以使用raw修饰符:

{{ json|raw }}


推荐阅读