在Zend框架中使用getRawBody()时,Restful请求体返回错误的JSON格式

时间:2011-10-11 12:02:20

标签: json zend-framework rest

我正在测试使用zend框架构建的restful服务。我正在使用下面的命令来测试它(从这个post中学习)。

  

curl -v -H“Content-Type:application / json”-X GET -d'{“locationId”:“33”,“limit”:“5”,“offset”:“0”}'\ http://localhost/api/review

但是当我使用$payload = $this->getRequest()->getRawBody();在Zend中获取请求主体时,var_dump($ payload)返回"'{locationId:33,limit:5,offset:0}'",其中双引号被删除,因此我无法将其解码为数组。

这是什么原因?请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

Windows命令行正在删除双引号。它也不承认单引号。您可以尝试双重引用整个内容并转义内部使用的引号,如下所示:

curl -v -H "Content-Type: application/json" -X GET -d "{\"locationId\":\"33\",\"limit\":\"5\",\"offset\":\"0\"}" http://localhost/api/review