Php json_在序列化形式Symfony2上解码

Php json_在序列化形式Symfony2上解码,php,jquery,ajax,symfony,serialization,Php,Jquery,Ajax,Symfony,Serialization,我通过ajax提交表单,这里是我在controller中得到的: $request->getContent() 返回 string 'comment[header]=vcvdfgdfg&comment[body]=dfgfdgdf&comment[_token]=nV0QYu82KWFb-wRIlIoY4MKM6-WUfeFoMidjBHfpupA' (length=120) 当我尝试 json_decode($request->getContent(), tru

我通过ajax提交表单,这里是我在controller中得到的:

$request->getContent()
返回

string 'comment[header]=vcvdfgdfg&comment[body]=dfgfdgdf&comment[_token]=nV0QYu82KWFb-wRIlIoY4MKM6-WUfeFoMidjBHfpupA' (length=120)
当我尝试

json_decode($request->getContent(), true) // it equal to null

我在做什么?那不是json字符串。如果要解析该字符串并获取数组,则必须使用该函数,并且需要设置第二个参数以将数据放入数组中,而不是放入单个变量中

$get_string = "pg_id=2&parent_id=2&document&video";    
parse_str($get_string, $get_array);
print_r($get_array);
或者,如果您正在使用Symfony2,您可以通过以下方式访问它们:

// $_GET parameters
$request->query->get('name');

// $_POST parameters
$request->request->get('name');

它不是json字符串。所以你不能对它进行json解码。尝试使用检查您的json是否有效。您可以通过$this->get('request')->request(用于POST)或$this->get('request')->query(用于get)@User8889访问您的参数,很好,谢谢!)感谢您复制粘贴这两条评论。您可以通过$this->get('request')->request(for POST)或$this->get('request')->query(for get)访问您的参数。这似乎与您的答案完全相同,似乎有两个人对您投了反对票。我想我有一个很好的机会,为什么要投反对票?海报提交了答案。如果评论中有什么内容,它就不是答案,OP也从来没有对评论给出过反馈。@contell:如果您使用Stijn Bernards和MHakvoort的评论作为anwser的基础,您应该添加这些评论的链接或引用作者的姓名。