在这里,我正在为REST API构建Symfony SDK.大多数数据都是具有嵌套的其他JSON对象的JSON对象.像这儿
{
"id": "eng_pl",
"name": "Premier League",
"_links": {
"self": {
"href": "/tournaments/eng_pl"
},
"seasons": {
"href": "/tournaments/eng_pl/seasons/"
}
},
"coverage": {
"id": "eng",
"name": "England",
"_links": {
"self": {
"href": "/territories/eng"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
反序列化必须生成一个与下面列出的代码生成的对象相等的对象:
$tournament = new Tournament();
$tournament->setId('eng_pl');
$tournament->setName('Premier League');
$coverage = new Territory();
$coverage->setId('eng');
$coverage->setName('England');
$tournament->setCoverage($coverage);
Run Code Online (Sandbox Code Playgroud)
我正在使用我自己的自定义Denormalizers,在Tournament对象的denormalizer代码片段下面:
class TournamentDenormalizer implements DenormalizerInterface
{
/**
* @inheritdoc
*/
public function supportsDenormalization($object, $type, $format = null)
{
if ($type != Tournament::class) {
return false;
} …Run Code Online (Sandbox Code Playgroud)