Home  >  Article  >  Backend Development  >  How to handle object serialization and deserialization in C# development

How to handle object serialization and deserialization in C# development

PHPz
PHPzOriginal
2023-10-10 18:07:44989browse

How to handle object serialization and deserialization in C# development

How to handle object serialization and deserialization in C# development requires specific code examples

In C# development, object serialization and deserialization are very important the concept of. Serialization converts an object into a format that can be transmitted over the network or stored on disk, while deserialization converts the serialized data back into the original object. This article will introduce how to handle the serialization and deserialization of objects in C#, and provide some specific code examples.

  1. Use Json.NET library for serialization and deserialization

Json.NET is a popular third-party library that allows for convenient object serialization in C# ization and deserialization. First, we need to install the Json.NET library. Json.NET can be installed in Visual Studio via the NuGet package manager.

a) Object serialization example

The following code example demonstrates how to serialize a Person object into a JSON string:

using Newtonsoft.Json;
using System;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    Person person = new Person { Name = "John Doe", Age = 30 };
    string json = JsonConvert.SerializeObject(person);
    Console.WriteLine(json);
}

In this example, we use The JsonConvert.SerializeObject method converts the Person object into a JSON string and outputs the result through Console.WriteLine.

b) Object deserialization example

The following code example demonstrates how to deserialize a JSON string into a Person object:

using Newtonsoft.Json;
using System;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    string json = "{"Name":"John Doe","Age":30}";
    Person person = JsonConvert.DeserializeObject<Person>(json);
    Console.WriteLine(person.Name);
    Console.WriteLine(person.Age);
}

In this example, We use the JsonConvert.DeserializeObject method to convert the JSON string to a Person object and output the values ​​of the Name and Age properties through Console.WriteLine.

  1. Using BinaryFormatter for serialization and deserialization

In addition to the Json.NET library, C# also provides the BinaryFormatter class, which can be used to serialize objects into Binary format and deserialize binary data into objects. The following is an example of serialization and deserialization using BinaryFormatter:

a) Object serialization example

The following code example demonstrates how to serialize a Person object into binary data:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    Person person = new Person { Name = "John Doe", Age = 30 };

    BinaryFormatter formatter = new BinaryFormatter();
    MemoryStream stream = new MemoryStream();

    formatter.Serialize(stream, person);
    byte[] binaryData = stream.ToArray();

    stream.Close();

    Console.WriteLine(BitConverter.ToString(binaryData));
}

In this example, we create a Person object and serialize it into a memory stream using the BinaryFormatter.Serialize method. Then, get the binary data through the MemoryStream.ToArray method and output it as a string using the BitConverter.ToString method.

b) Object deserialization example

The following code example demonstrates how to deserialize binary data into a Person object:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    string binaryDataString = "01-00-00-00-02-00-00-00-00-00-00-00-09-4A-6F-68-6E-20-44-6F-65-00-1E-00-00-00-00-00-00-00";
    byte[] binaryData = BitConverter.GetBytes(binaryDataString.Replace("-", ""));

    BinaryFormatter formatter = new BinaryFormatter();
    MemoryStream stream = new MemoryStream(binaryData);

    Person person = (Person)formatter.Deserialize(stream);
    stream.Close();

    Console.WriteLine(person.Name);
    Console.WriteLine(person.Age);
}

In this example, we use The BinaryFormatter.Deserialize method deserializes binary data into Person objects and outputs the values ​​of the Name and Age properties through Console.WriteLine.

Summary

Through this article, we learned how to handle object serialization and deserialization in C# development. We used the Json.NET library and the BinaryFormatter class to perform serialization and deserialization examples respectively, and provided specific code snippets. Please choose the appropriate method to handle object serialization and deserialization based on actual needs.

The above is the detailed content of How to handle object serialization and deserialization in C# development. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn