Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve o exemplo de JsonSerialization.
Observação
Este exemplo é para DataContractJsonSerializer. Para a maioria dos cenários que envolvem serialização e desserialização do JSON, recomendamos as APIs no namespace System.Text.Json.
DataContractJsonSerializer dá suporte aos mesmos tipos que DataContractSerializer. O formato de dados JSON é especialmente útil ao escrever aplicativos Web no estilo JavaScript e XML (AJAX) assíncronos. O suporte a AJAX no WCF (Windows Communication Foundation) é otimizado para uso com ASP.NET AJAX por meio do controle ScriptManager. Para obter exemplos de como usar o WCF (Windows Communication Foundation) com ASP.NET AJAX, consulte os Exemplos do AJAX.
O procedimento de configuração e as instruções de build para este exemplo estão localizados no final deste tópico.
O exemplo usa um Person contrato de dados para demonstrar serialização e desserialização.
[DataContract]
class Person
{
[DataMember]
internal string name;
[DataMember]
internal int age;
}
Para serializar uma instância do Person tipo para JSON, crie o DataContractJsonSerializer primeiro e use o WriteObject método para gravar dados JSON em um fluxo.
Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);
O fluxo de memória contém dados JSON válidos.
{"age":42,"name":"John"}
O exemplo demonstra desserialização de dados JSON em um objeto. Em seguida, você volta o fluxo e chama ReadObject.
Person p2 = (Person)ser.ReadObject(stream1);
Examinar o p2 objeto revela que os dados JSON foram desserializados corretamente.
Para configurar, compilar e executar o exemplo
Compile a solução JsonSerialization.sln conforme descrito na Compilação dos Exemplos do Windows Communication Foundation.
Execute o aplicativo de console resultante.