Symfony JMS Serializer десериализует массив jsons для получения прав

У меня есть эта строка:

[{
"box": [{
"UID": "bid1106"}, {
"UID": "bid565"}, {
"UID": "bid1105"}]
}, {
"topseller": [{
"UID": "pid1816z1"}, {
"UID": "pid8840z100z06"}, {
"UID": "pid2942z01z18"}, {
"UID": "pid5863z0"}]
}, {
"global": {
"templatename": "homepage",
"locationid": "",
"controlgroup": "false"}
}]

Мне нужно как-то сделать Object с использованием JMS сериализатора.

$obj = $this->serializer->deserialize($jsonData, ObjectClass::class, 'json');

И мой класс ObjectClass.php выглядит так

class ObjectClass
{
private $box = [];
private $topseller = [];
private $global = [];
....
}

Любые предложения, как я могу сделать это как один объект?

1

Решение

Я просто понимаю это самостоятельно:

    $newArray =[];
foreach (json_decode($jsonData, true) as $item) {
$key = array_keys($item)[0];
$newArray[$key] = $item[$key];
}


$obj = $this->serializer->deserialize(json_encode($newArray), ObjectClass::class, 'json');
0

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

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

По вопросам рекламы [email protected]