Symfony 2获取json请求

时间:2014-01-16 17:47:59

标签: json api symfony request

我有一个端点,它从我的应用程序的订阅服务接收更新(使用第三方API)。这些作为帖子发送给我。我不知道如何获得我尝试过的内容。

这是收到的每个文件都有唯一生成的数字

已上传的文件 更新:update1389874969000.json(application / json)

我试过这段代码 -

          $request = $this->getRequest(); 

          $request->request->get('updates');

//不会收到错误但不会获得任何数据 或

 $request = $this->getRequest(); 

 $request->files->get('updates');
get '/tmp/php0oJ2oP' which doesn't mean anything to me 

任何想法如何解析这个json数据,谢谢

1 个答案:

答案 0 :(得分:1)

public function postAction(Request $request)
{   
    $personData = json_decode($request->getContent(),true);

确定。所以你没有收到json作为内容。相反,正在上传一个json文件。

您获得的/ tmp / php0oJ2oP实际上是您上传文件的路径。您可以使用

读取并转换为php数组
    $data = json_decode(file_get_contents('/tmp/php0oJ2oP'),true);

当然,每次上传都会获得不同的tmp路径,因此请从请求中提取路径。

有关文件上传的更多信息,请访问:http://symfony.com/doc/current/reference/forms/types/file.html

但你真正需要的只是tmp路径。