【问题标题】:JsonResponse and serializer, duplicate encodage?JsonResponse 和序列化器,重复编码?
【发布时间】:2014-05-22 17:50:17
【问题描述】:

所以,我正在使用 Symfony2,并且我有一个用于所有 ajax 请求的特殊控制器。

在每个动作中,我都会返回一个 JsonResponse :

  $serializer = $this->container->get('jms_serializer');
  return new JsonResponse(array('success' => true, 'params' => json_decode($serializer->serialize($params, 'json'))));

所以,我从 javascript 调用我的操作,我可以检索一个不错的 json。

但我认为有问题 => 我序列化我的对象,我 json_decode 序列化的对象,我 jsonReponse 解码的序列化对象。

我怎样才能用更好的方法做到这一点?

【问题讨论】:

  • 您需要反序列化(排列)您的$params
  • 你为什么不去掉整个 'json_decode($serializer->serialize($params, 'json')' 而简单地换成 '$params' 呢?
  • $params 是一个对象,我不能在没有序列化之前发送一个对象

标签: symfony


【解决方案1】:

如果您使用 HTTP 代码处理成功、错误或其他任何内容,这将更加简单。所以您的代码将如下所示。

return new Response($serializer->serialize($params, 'json'), 200, array('content-type' => 'application/json'));

【讨论】:

    猜你喜欢
    • 2017-02-25
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多