【发布时间】:2014-05-28 21:38:10
【问题描述】:
我想将一个 json 字符串映射到我的实体 Poste。
这是我使用 var_dump 的 json 输出:
string(695) "{
"id":2,
"user": {
"id":1,
"username":"tom.smith",
"email":"tom.smith@gmail.com"
// other properties of User class (FOSUserBundle)
},
"description":"cool",
"nb_comments":0,"nb_likes":0,
"date_creation":"2014-04-13T20:07:34-0700",
"is_there_fashtag":false,
"fashtags":[]
}"
我尝试使用 jmsserializer 反序列化:
$postes[] = $serializer->deserialize($value, 'Moodress\Bundle\PosteBundle\Entity\Poste', 'json');
我有一个错误:
Catchable Fatal Error: Argument 1 passed to
Moodress\Bundle\PosteBundle\Entity\Poste::setUser() must be an instance of
Moodress\Bundle\UserBundle\Entity\User, array given
为什么我不能反序列化一个简单的实体帖子?
谢谢
【问题讨论】:
-
您是否使用来自 JMS 序列化器的正确暴露/类型方法映射您的实体? jmsyst.com/libs/serializer/master/reference/annotations#type
标签: php json symfony deserialization jmsserializerbundle