温馨提示×

c# javascriptserializer能处理泛型吗

c#
小樊
81
2024-11-28 04:37:29
栏目: 编程语言

JavaScriptSerializer 类在 C# 中用于将对象序列化为 JSON 字符串,以及将 JSON 字符串反序列化为对象。然而,JavaScriptSerializer 不支持泛型。

如果你需要处理泛型,可以考虑使用 Json.NET(现在称为 Newtonsoft.Json)库。Json.NET 是一个功能强大的 JSON 序列化和反序列化库,支持泛型。以下是一个简单的示例,说明如何使用 Json.NET 处理泛型:

using Newtonsoft.Json;
using System;

public class GenericClass<T>
{
    public T Data { get; set; }
}

public class Program
{
    public static void Main()
    {
        var genericObject = new GenericClass<int> { Data = 42 };

        // 序列化泛型对象
        string json = JsonConvert.SerializeObject(genericObject);
        Console.WriteLine("Serialized JSON: " + json);

        // 反序列化泛型对象
        var deserializedObject = JsonConvert.DeserializeObject<GenericClass<int>>(json);
        Console.WriteLine("Deserialized object: " + deserializedObject.Data);
    }
}

在这个示例中,我们使用 JsonConvert.SerializeObject 方法将泛型对象序列化为 JSON 字符串,然后使用 JsonConvert.DeserializeObject 方法将 JSON 字符串反序列化为泛型对象。注意,在反序列化时,我们需要指定泛型的类型(在本例中为 int)。

0