1
我发现了两个不同的如何序列化数据的例子。一个使用流而另一个不使用?序列化到流是否
stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
Console.Write("JSON form of Person object: ");
Console.WriteLine(sr.ReadToEnd());
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;
}
为什么要使用流作为增加了一个步骤?
您可以使用所需的工具完成工作。 –
@ Boo的回答不完整;您可以使用自己需要的工具完成工作,并且您可以证明自己的合理性。 –
我想指出,StackOverflow示例正在做2件不同的事情。其中一个使用'Serialize()'将一个对象转换为一个流,另一个使用'Deserialize()'将一个字符串(或流,但直接使用它的字符串)转换成一个对象。流是一种更安全的内存方式,可以生成对象的直接表示,文件流和内存流是常见的。 – Nevyn