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 su uso con AJAX de ASP.NET a través del control ScriptManager. Para obtener ejemplos sobre cómo usar Windows Communication Foundation (WCF) con ASP.NET AJAX, consulte Ejemplos de AJAX.
Nota
En este ejemplo, para generar y ejecutar, es necesario que esté instalado .NET Framework versión 3.5. Para abrir los archivos de solución y proyecto se necesita Visual Studio 2008.
Nota
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);
Examinar el objeto p2
revela que se han deserializado los datos de JSON correctamente.
Para configurar, generar y ejecutar el ejemplo
Genere la solución JsonSerialization.sln tal y como se describe en Generación de ejemplos de Windows Communication Foundation.
Ejecute la aplicación de consola resultante.
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.