小编Raf*_*809的帖子

JMS将ArrayCollection序列化为对象

我正在使用JMS Serializer.当它与Doctrine ArrayCollection类型一起使用时,JsonSerializer给出了一个不正确的数组格式.指定的结果应遵循格式,[ {}, {} ]但它给了我{ 1: {}, 2: {} }.

有关此方案的其他信息.它只发生在我尝试序列化包含包含ArrayCollection的对象的对象并且ArrayCollection包含第一级对象时.例如:

{  
   "description":"Text provided",
   "date":"1434145921000",
   "oid":1,
   "userCreator":{  
      "username":"name123",
      "password":"psw",
      "oid":2,
      "name":"the-name",
      "lastname":"the-lasname",
      "announcements":{  
         "1":{  
            "description":"Clases de inglés",
            "date":"1434745921000",
            "oid":3
         },
         "2":{  
            "description":"Reparar ordenador",
            "date":"1434145921000",
            "oid":5
         }
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我直接序列化用户实体,则不会发生这种情况:

{  
   "username":"user1",
   "password":"123",
   "oid":2,
   "name":"Rafael",
   "lastname":"Jimenez"
   "announcements":[  
      {  
         "description":"Cargar cajas a la guardilla",
         "date":"1434145921000",
         "oid":1
      },
      {  
         "description":"Contar césped y quitar malas hierbas",
         "date":"1434745921000",
         "oid":3
      },
      {  
         "description":"Reparar ordenador",
         "date":"1434145921000",
         "oid":5
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

任何线索?

serialization json symfony jmsserializerbundle

6
推荐指数
1
解决办法
2681
查看次数