Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github

Como usar o Componente Serializer

Serializar e desserializar de e para objetos e em formatos diferentes (por exemplo, JSON ou XML) é um tema muito complexo. O Symfony vem com um Componente Serializer, que lhe fornece algumas ferramentas que você pode aproveitar para sua solução.

Na verdade, antes de começar, familiarize-se com o serializer, normalizadores e codificadores (encoders) lendo Componente Serializer. Você também deve verificar o JMSSerializerBundle, que expande as funcionalidades oferecidas pelo serializer do núcleo do Symfony.

Ativando o Serializer

New in version 2.3: O Serializer sempre existiu no Symfony, mas antes do Symfony 2.3, você mesmo precisava construir o serviço serializer.

O serviço serializer não está disponível por padrão. Para ativá-lo, habilite-o em sua configuração:

Adicionando Normalizadores e Codificadores (Encoders)

Uma vez ativado, o serviço serializer estará disponível no container e será carregado com dois encoders (Symfony\Component\Serializer\Encoder\JsonEncoder e Symfony\Component\Serializer\Encoder\XmlEncoder) mas não normalizers, ou seja, você precisará carregar o seu próprio.

Você pode carregar normalizadores e/ou codificadores adicionando tags a eles como serializer.normalizer e serializer.encoder. Também é possível definir a prioridade da tag, a fim de decidir a ordem de correspondência.

Aqui está um exemplo de como carregar o Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer: