added samples
[windows-sources.git] / sdk / samples / WCFSamples / TechnologySamples / Basic / Ajax / JsonSerialization / CS / client / client.cs
blob6d0018288553c1f0f6fba1826fed1bbff6b2e08d
1 // Copyright (c) Microsoft Corporation. All rights reserved.
3 using System;
4 using System.IO;
5 using System.Runtime.Serialization;
6 using System.Runtime.Serialization.Json;
8 namespace Microsoft.Ajax.Samples
11 class Sample
13 static void Main()
15 Person p = new Person();
16 p.name = "John";
17 p.age = 42;
19 MemoryStream stream1 = new MemoryStream();
21 //Serialize the Person object to a memory stream using DataContractJsonSerializer.
22 DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
23 ser.WriteObject(stream1, p);
25 //Show the JSON output.
26 stream1.Position = 0;
27 StreamReader sr = new StreamReader(stream1);
28 Console.Write("JSON form of Person object: ");
29 Console.WriteLine(sr.ReadToEnd());
31 //Deserialize the JSON back into a new Person object.
32 stream1.Position = 0;
33 Person p2 = (Person)ser.ReadObject(stream1);
35 //Show the results.
36 Console.Write("Deserialized back, got name=");
37 Console.Write(p2.name);
38 Console.Write(", age=");
39 Console.WriteLine(p2.age);
41 Console.WriteLine("Press <ENTER> to terminate the program.");
42 Console.ReadLine();
46 [DataContract]
47 class Person
49 [DataMember]
50 internal string name;
52 [DataMember]
53 internal int age;