在Symfony2中,我有一个Address实体和一个AddressList实体。 AddressList实体创建Address实体的集合。我有一个需要映射到AddressList实体的JSON响应。
使用JMS Serializer映射时,AddressList始终返回null,如下所示:
$this->get('jms_serializer')->deserialize($json, 'Foo\Bar\AddressList', 'json');
现在我知道如果我在根级别向JSON响应添加一个密钥(地址),那么它可以正常工作,因为它可以映射到响应对象中的那个密钥,即
{"addresses":[{...},{...}]}
但是我想让它与孤立的对象数组一起使用,如下所示。
谢谢!
JSON回复:
[{
"property": "foo",
"street": "bar",
"town": "baz",
"postcode": "123120"
},{
"property": "baz",
"street": "foo",
"town": "bar",
"postcode": "987654"
}]
这是地址实体:
<?php
namespace Foo\Bar;
class Address
{
public $property;
public $street;
public $town;
public $postcode;
...
// Getters Setters
}
这是AddressList实体,它构成了上面的Address实体的集合。
<?php
namespace Foo\Bar;
use JMS\Serializer\Annotation\Type;
class AddressList
{
/**
* @Type("array<Foo\Bar\Address>")
*/
public $addresses;
...
// Getters Setters
}