Compartilhar via


Serialização no .NET

Serialização é o processo de converter o estado de um objeto em um formulário que pode ser persistido ou transportado. O complemento da serialização é a desserialização, que converte um fluxo em um objeto. Juntos, esses processos permitem que os dados sejam armazenados e transferidos.

O .NET apresenta as seguintes tecnologias de serialização:

  • A serialização JSON mapeia objetos .NET de e para JSON (JavaScript Object Notation). O JSON é um padrão aberto que normalmente é usado para compartilhar dados na Web. O serializador JSON serializa as propriedades públicas por padrão e também pode ser configurado para serializar membros privados e internos.

  • A serialização XML e SOAP serializa apenas public propriedades e campos e não preserva a fidelidade de tipo. Isso é útil quando você deseja fornecer ou consumir dados sem restringir o aplicativo que usa os dados. Como o XML é um padrão aberto, é uma opção atraente para compartilhar dados na Web. SOAP também é um padrão aberto, o que o torna uma escolha atraente.

  • A serialização binária preserva a fidelidade de tipo, o que significa que o estado completo do objeto é registrado e, quando você desserializa, uma cópia exata é criada. Esse tipo de serialização é útil para preservar o estado de um objeto entre invocações diferentes de um aplicativo. Por exemplo, você pode compartilhar um objeto entre diferentes aplicativos serializando-o para a área de transferência. Você pode serializar um objeto em um fluxo, em um disco, na memória, na rede e assim por diante. A comunicação remota usa a serialização para passar objetos "por valor" de um computador ou domínio de aplicativo para outro.

    Aviso

    A serialização binária com BinaryFormatter pode ser perigosa. Para obter mais informações, consulte o guia de segurança BinaryFormatter e o guia de migração BinaryFormatter.

Referência

System.Text.Json
Contém classes que podem ser usadas para serializar objetos em fluxos ou documentos de formato JSON.

System.Runtime.Serialization
Contém classes que podem ser usadas para serializar e desserializar objetos.

System.Xml.Serialization
Contém classes que podem ser usadas para serializar objetos em fluxos ou documentos de formato XML.