在Symfony中使用JSON反序列化实体失败

时间:2014-04-10 16:57:02

标签: php json symfony jmsserializerbundle

我正在尝试使用此方法从JSON文件反序列化实体

public function importAnnotationAction($id_rendu)
{
    $em = $this->getDoctrine()->getEntityManager();

    $jsonContent = $this->get("request")->getContent();

    $serializer = $this->get('serializer');
    $annotationEntity = $serializer->deserialize($jsonContent, 'Alecsia\AnnotationBundle\Entity\Annotation', 'json');

    //Save entity
    $em->persist($annotationEntity);
    $em->flush();

    return new Response($jsonContent . "\n" . var_dump($annotationEntity));
}

使用的JSON文件来自同一个实体

并且输出实体字段都设置为null:

  

object(Alecsia \ AnnotationBundle \ Entity \ Annotation)#568(18){   [ “ID”:保护] => int(26)[“fichier”:protected] =>空值   [ “任督”:保护] => NULL [“modele”:protected] =>空值   [ “debut_ligne”:保护] => int(0)[“debut_col”:protected] => INT(0)   [ “fin_ligne”:保护] => int(0)[“fin_col”:protected] => INT(0)   [ “NOM”:保护] => NULL [“commentaire”:protected] =>空值   [ “valeur”:保护] => NULL [“relatif”:protected] =>空值   [ “exercice”:保护] => NULL [“deleguer_nom”:protected] =>布尔(假)   [ “deleguer_commentaire”:保护] =>布尔(假)   [ “deleguer_valeur”:保护] =>布尔(假)   [ “deleguer_relatif”:保护] =>布尔(假)   [ “deleguer_exercice”:保护] => bool(false)}

并且实体id随每次调用而增加,我做错了什么?

0 个答案:

没有答案