Compartir a través de


Ejemplo DataContractJsonSerializer

En este artículo se describe el ejemplo JsonSerialization.

Nota

Este ejemplo es para DataContractJsonSerializer. Para la mayoría de los escenarios que implican la serialización y deserialización JSON, se recomiendan las API del espacio de nombres System.Text.Json.

DataContractJsonSerializer admite los mismos tipos que DataContractSerializer. El formato de datos de JSON es especialmente útil al escribir JavaScript asincrónico y aplicaciones web de estilo XML (AJAX). La compatibilidad con AJAX en Windows Communication Foundation (WCF) se ha optimizado para su uso con ASP.NET AJAX a través del control ScriptManager. Para obtener ejemplos de cómo usar Windows Communication Foundation (WCF) con ASP.NET AJAX, consulte los ejemplos de AJAX.

El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.

El ejemplo utiliza un contrato de datos Person para mostrar la serialización y deserialización.

[DataContract]
class Person
{
    [DataMember]
    internal string name;

    [DataMember]
    internal int age;
}

Para serializar una instancia del tipo Person a JSON, cree primero DataContractJsonSerializer y utilice el método WriteObject para escribir los datos de JSON en una secuencia.

Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);

La secuencia de la memoria contiene los datos de JSON válidos.

{"age":42,"name":"John"}

El ejemplo muestra cómo deserializar a partir de datos de JSON en un objeto. Se rebobina la secuencia y se llama a ReadObject.

Person p2 = (Person)ser.ReadObject(stream1);

Al examinar el objeto p2, se revela que se han deserializado los datos de JSON correctamente.

Para configurar, compilar y ejecutar el ejemplo

  1. Compile la solución JsonSerialization.sln como se describe en Compilación de los ejemplos de Windows Communication Foundation.

  2. Ejecute la aplicación de consola resultante.