Home Backend Development C#.Net Tutorial How to handle object serialization and deserialization in C# development

How to handle object serialization and deserialization in C# development

Oct 10, 2023 pm 06:07 PM
Serialization Deserialization object handling

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);
}
Copy after login

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);
}
Copy after login

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));
}
Copy after login

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);
}
Copy after login

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve php deserialization failure How to solve php deserialization failure Oct 11, 2023 am 09:30 AM

Solution to PHP deserialization failure Check the serialized data. Check class definitions, check error logs, update PHP versions and apply security measures, etc. Detailed introduction: 1. Check the serialized data. First check whether the serialized data is valid and conforms to PHP's serialization specification. If the data is damaged or has an incorrect format, you can try to repair it or restore the correct data from backup; 2. Check Class definition, ensure that all classes used in serialized data exist and can be automatically loaded. If the class does not exist or is inaccessible, you can try to repair the class definition, etc.

In Java, how can we serialize a list of objects using flexjson? In Java, how can we serialize a list of objects using flexjson? Sep 05, 2023 pm 11:09 PM

Flexjson is a lightweight library for serializing and deserializing Java objects to and from JSON format. We can serialize a list of objects using the serialize() method of the JSONSerializer class. This method performs shallow serialization on the target instance. We need to pass a list of objects of list type as a parameter to the serialize() method. Syntax publicStringserialize(Objecttarget) example importflexjson.JSONSerializer;importjava.util.*;publicclassJsonSerial

How does Java serialization affect performance? How does Java serialization affect performance? Apr 16, 2024 pm 06:36 PM

The impact of serialization on Java performance: The serialization process relies on reflection, which will significantly affect performance. Serialization requires the creation of a byte stream to store object data, resulting in memory allocation and processing costs. Serializing large objects consumes a lot of memory and time. Serialized objects increase load when transmitted over the network.

PHP data processing skills: How to use the serialize and unserialize functions to implement data serialization and deserialization PHP data processing skills: How to use the serialize and unserialize functions to implement data serialization and deserialization Jul 29, 2023 am 10:49 AM

PHP data processing skills: How to use the serialize and unserialize functions to implement data serialization and deserialization Serialization and deserialization are one of the commonly used data processing skills in computer science. In PHP, we can use the serialize() and unserialize() functions to implement data serialization and deserialization operations. This article will give you a detailed introduction to how to use these two functions and provide relevant code examples. 1. What is serialization and deserialization in computer programming?

How does the C++ function library perform serialization and deserialization? How does the C++ function library perform serialization and deserialization? Apr 18, 2024 am 10:06 AM

C++ Library Serialization and Deserialization Guide Serialization: Creating an output stream and converting it to an archive format. Serialize objects into archive. Deserialization: Creates an input stream and restores it from archive format. Deserialize objects from the archive. Practical example: Serialization: Creating an output stream. Create an archive object. Create and serialize objects into the archive. Deserialization: Create an input stream. Create an archive object. Create objects and deserialize them from the archive.

How to serialize the order of properties using Jackson library in Java? How to serialize the order of properties using Jackson library in Java? Aug 28, 2023 pm 12:45 PM

@JsonPropertyOrder is an annotation used at class level. It takes as an attribute a list of fields that defines the order in which the fields appear in the string generated by the JSON serialization of the object. Properties included in the annotation declaration can be serialized first (in the order they are defined), followed by any properties not included in the definition. Syntax public@interfaceJsonPropertyOrder Example importcom.fasterxml.jackson.core.*;importcom.fasterxml.jackson.databind.*;importcom.fasterxml.jac

Serialization and deserialization of interfaces and abstract classes in Java Serialization and deserialization of interfaces and abstract classes in Java May 02, 2024 am 08:33 AM

Interfaces cannot be serialized directly. Abstract classes can be serialized but only if they do not contain non-static, non-transient fields or override the writeObject() and readObject() methods. Specific instances can be implemented through concrete classes that implement the interface or override writeObject() and readObject. Abstract class implementation of () method.

High performance serialization and deserialization technology in PHP High performance serialization and deserialization technology in PHP Jun 22, 2023 pm 09:34 PM

Serialization is the process of converting data structures or objects into a transmittable data format, while deserialization is the process of restoring these data to the original objects or data structures. In web development, serialization and deserialization technologies are widely used in scenarios such as data transmission, caching, and distributed computing. As a commonly used web back-end development language, how are PHP's built-in serialization and deserialization functions implemented? This article will introduce serialization in PHP

See all articles