Zum Hauptinhalt springen

DataContract Serialisierung

Personen Klasse

public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }

private int? age;
public int? Age
{
get
{
if (age != null)
{
return age;
}
age = DateTime.Today.Year - DateOfBirth.Year;
if (DateOfBirth > DateTime.Today.AddYears(-1))
age--;
return age;
}
}

public void Print()
{
Console.WriteLine($"First Name: {FirstName}");
Console.WriteLine($"Last Name: {LastName}");
Console.WriteLine($"Date of Birth: {DateOfBirth.ToShortDateString()}");
Console.WriteLine($"Age: {Age}");
}
}

JSON Serialisierung

Serialisierung

DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Person));
Person person = new Person { FirstName = "John", LastName = "Doe", DateOfBirth = new DateTime(1988, 01, 22) };
FileStream fileStream = new FileStream(@"c:\tmp\person.json", FileMode.Create);
serializer.WriteObject(fileStream, person);
fileStream.Close();

Deserialisierung

FileStream fileStream = new FileStream(@"c:\tmp\person.json", FileMode.Open);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Person));
Person person = (Person)serializer.ReadObject(fileStream);

person.Print();

XML Serialisierung

Serialisierung

DataContractSerializer serializer = new DataContractSerializer(typeof(Person));
Person person = new Person { FirstName = "John", LastName = "Doe", DateOfBirth = new DateTime(1988, 01, 22) };
FileStream fileStream = new FileStream(@"c:\tmp\person.xml", FileMode.Create);
serializer.WriteObject(fileStream, person);
fileStream.Close();

Deserialisierung

FileStream fileStream = new FileStream(@"c:\tmp\person.xml", FileMode.Open);
DataContractSerializer serializer = new DataContractSerializer(typeof(Person));
Person person = (Person)serializer.ReadObject(fileStream);

person.Print();

Kommentare