Compartir a través de


Serialización JSON

Este ejemplo muestra cómo utilizar DataContractJsonSerializer para serializar y deserializar los datos en el formato de notación de objetos JavaScript (JSON). Este motor de serialización convierte los datos de JSON en instancias de tipos .NET Framework y de nuevo en datos de 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 de AJAX en Windows Communication Foundation (WCF) se optimiza para usarse con AJAX de ASP.NET a través del control ScriptManager. Para obtener ejemplos acerca de cómo usar Windows Communication Foundation (WCF) con ASP.NET AJAX, vea AJAX Samples.

Bb410770.note(es-es,VS.100).gifNota:
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.

Bb410770.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<InstallDrive>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de WF y Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Ajax\JsonSerialization

Para configurar, compilar y ejecutar el ejemplo

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

  2. Ejecute la aplicación de consola resultante.