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