【发布时间】:2016-12-13 11:57:12
【问题描述】:
情况是这样的:我在一个基于symfony3的rest api上工作,它使用FOSRestBundle和symfony序列化组件,所以方法返回数组,FOSRest处理编码和响应。问题是序列化程序使用带有默认设置的 json_encode 和 api 返回数据,例如某些符号的 '\u00c9S'。所以我需要以某种方式将 'JSON_UNESCAPED_UNICODE' 传递给 json_encode() 。有没有合适的方法来达到这个目标? 方法示例:
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use FOS\RestBundle\Controller\Annotations as Rest;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Component\HttpFoundation\Request;
/**
* Class ExampleController
* @package AppBundle\Controller
*/
class ExampleController extends Controller
{
/**
* @Rest\Get("/get-some-data")
* @param Request $request
* @return array
*/
public function getSomeDataAction(Request $request)
{
$someData = [
'prop1' => 'Value',
'prop2' => 'Value',
'prop3' => 'Value',
'prop4' => 'Value',
];
return $someData;
}
所以当我请求“/get-some-data”时,它会返回给我:
{"prop1":"Value with \/","prop2":"Value with \u00c9"}
,但我需要它返回:
{"prop1":"Value with /","prop2":"Value with É"}
【问题讨论】:
标签: php symfony fosrestbundle serialization