public static function jsonDeserialize($content) { $data = json_decode($content); $keys = array_keys(json_decode($content, true)); $response = new Response(); foreach ($keys as $key) { switch ($key) { case 'status': $response->setStatus($data->status); break; case 'data': $response->setData($data->data); break; case 'error': $response->setErrorMessage($data->error); break; case 'code': $response->setErrorCode($data->code); break; case 'metadata': foreach ((array) $data->metadata as $key => $value) { $response->setMetadata($key, $value); } break; } } return $response; }