温馨提示×

c# arraylist怎样进行反序列化

c#
小樊
84
2024-11-15 23:53:17
栏目: 编程语言

在C#中,要对ArrayList进行反序列化,首先需要将序列化的数据存储在一个文件中,例如JSON格式。然后,可以使用System.IO.File类和Newtonsoft.Json库来读取和解析这个文件,最后将解析后的数据转换回ArrayList对象。以下是一个简单的示例:

  1. 首先,确保已经安装了Newtonsoft.Json库。如果没有安装,可以使用NuGet包管理器安装:
Install-Package Newtonsoft.Json
  1. 创建一个简单的C#类,用于存储序列化数据:
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}
  1. 使用Newtonsoft.Json库将ArrayList序列化为JSON字符串:
using System;
using System.Collections.ArrayList;
using Newtonsoft.Json;

class Program
{
    static void Main()
    {
        ArrayList people = new ArrayList();
        people.Add(new Person { Name = "John", Age = 30 });
        people.Add(new Person { Name = "Jane", Age = 28 });

        string json = JsonConvert.SerializeObject(people);
        Console.WriteLine("Serialized ArrayList: " + json);
    }
}
  1. 使用Newtonsoft.Json库将JSON字符串反序列化为ArrayList对象:
using System;
using System.Collections.ArrayList;
using Newtonsoft.Json;

class Program
{
    static void Main()
    {
        string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":28}]"; // 这是从文件或网络中读取的序列化数据

        ArrayList people = JsonConvert.DeserializeObject<ArrayList>(json);

        Console.WriteLine("Deserialized ArrayList:");
        foreach (Person person in people)
        {
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
        }
    }
}

这个示例中,我们首先创建了一个包含两个Person对象的ArrayList,并将其序列化为JSON字符串。然后,我们将这个JSON字符串反序列化为一个新的ArrayList对象,并输出其内容。

0