Допустим, у нас есть JSON, который нужно десереализовать:

[
    {
        "name": "z0000",
        "rate": 0.39,
        "orders": [
            {
                "id": 7765514,
                "commission": 27930
            }
        ]
    }
]

Для этого в скрипте пишем:

/** @var User[] $users */
$users = $this->serializer->deserialize(
    $request->getContent(),
    User::class.'[]',
    'json',
);

Чтобы вложенный объект был понят как объект, а не массив, нужно, чтобы было сделано:

сomposer require symfony/property-info
composer req phpdocumentor/reflection-docblock
composer require symfony/serializer

И в config/packages/framework.yaml вписать:

framework:
    property_info:
        enabled: true

От a-pro

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *