C# 通过JavaScriptSerializer使用泛型反序列化

C# 通过JavaScriptSerializer使用泛型反序列化,c#,generics,C#,Generics,我正在尝试创建一个泛型方法,该方法将接收要转换为的预期类型和要转换为该类型的json 因此,我有一个文件,其中包含一些json: 这里有两个对象的列表,它们是从C自定义类型转换而来的,让我们将其称为事件到json 现在我想得到它并将其反序列化回一个列表 public static List<T> DeserializeJsonToObject<T>(List<T> objectTypeToDeserializeTo, string jsonToDese

我正在尝试创建一个泛型方法,该方法将接收要转换为的预期类型和要转换为该类型的json

因此,我有一个文件,其中包含一些json:

这里有两个对象的列表,它们是从C自定义类型转换而来的,让我们将其称为事件到json

现在我想得到它并将其反序列化回一个列表

    public static List<T> DeserializeJsonToObject<T>(List<T> objectTypeToDeserializeTo, string jsonToDeserializeToObject)
    {
        var serializedJson = _jsonSerializer.Deserialize(jsonToDeserializeToObject, objectTypeToDeserializeTo);
        return serializedJson;
    }
因此,我尝试在此处调用我的方法:

jsonInventoryObjects就是我从txt文件中抓取的字符串,我存储的json…我想转换回事件列表

var inventories = DeserializeJsonToObject(typeof(List<Event>), jsonEventObjects);
我不知道如何让我的方法工作,以及如何调用它。我可能是完全错误的方式,我试图这样做,这就是为什么我张贴这个。也许我在反序列化JSONTOOBJECT方法中的语法方面也做得不对

目标是获得一个可重用的泛型方法,该方法将反序列化任何json对象或对象的json列表,并找出在该方法的语法正确后如何调用该方法

好吧,我玩得更多了,准备试试这个

public static T DeserializeJsonToObject<T>(string jsonToDeserializeToObject)
{
    var serializedJson = _jsonSerializer.Deserialize<T>(jsonToDeserializeToObject);
    return serializedJson;
}

我建议查看JSON.net。特别是JsonConvert.Deserializelist,其中list是JSON字符串。这会帮你解决一切的。它是一个广泛使用的.NET库,用于执行这些类型的操作。另一种方法是执行JsonConvert.SerializeobjectsList,其中objectsList是事件列表的一部分。

我想出了一些适合我的方法:

public static T DeserializeJsonToObject<T>(string jsonToDeserializeToObject)
{
    var serializedJson = _jsonSerializer.Deserialize<T>(jsonToDeserializeToObject);
    return serializedJson;
}

我已经编写了很多代码,我没有时间开始转换,我想用我所拥有的来完成这项工作Serialize不是我想要的,我想反序列化到一个C对象列表中必须有一种方法可以像JSON.NET那样用JavaScriptSerializer反序列化。JsonConvert.Deserialize函数将为您完成这项工作。相信我,这个开关是值得的。呵呵,他只是胡闹了一下,也看到了这一点,不过谢谢,我现在正在通过我的单元测试来测试它
public static T DeserializeJsonToObject<T>(string jsonToDeserializeToObject)
{
    var serializedJson = _jsonSerializer.Deserialize<T>(jsonToDeserializeToObject);
    return serializedJson;
}