序列化/反序列化列表<;T>;转换为JSON

本文关键字:gt 转换 JSON lt 反序列化 列表 序列化 | 更新日期: 2023-09-27 17:57:57

我希望能够序列化/反序列化一个通用列表,到目前为止我是这个

    public static string ToJson(this object obj, int recursionDepth = 100) 
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        serializer.RecursionLimit = recursionDepth;
        return serializer.Serialize(obj);
    }
    public static List<T> ToListObject<T>(this string obj, int recursionDepth = 100)
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        serializer.RecursionLimit = recursionDepth;
        List<T> returnList = serializer.Deserialize<List<T>>(obj);
        return returnList;
    }

我也试过(List<T>)serializer.DeserializeObject(obj)

对于Deserialize,它反序列化错误(到空的List<T>对象);对于DeserializeObject,它抛出一个错误,说"无法将给定字符串反序列化到T的数组中"。我将无法使用IOStream:(真的会通知任何见解。

更新:即使是基本的序列化/反序列化也能工作,但我发布这篇文章的日子并不好过。:)

序列化/反序列化列表<;T>;转换为JSON

试试这个尺寸:

public static T ToObject<T>(this string obj, int recursionDepth = 100)
{
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    serializer.RecursionLimit = recursionDepth;
    return serializer.Deserialize<T>(obj);
}

然后这样使用:

mystring.ToObject<List<MyClass>>();