Разобрать ответ JSON с помощью пакета сериализатора JMS Symfony2 для класса

В Symfony2 у меня есть сущность Address и сущность AddressList. Сущность AddressList создает коллекцию сущностей Address. У меня есть ответ JSON, который необходимо сопоставить с объектом AddressList.

AddressList всегда возвращает ноль при отображении с использованием JMS Serializer, например так:

$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
}

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …