Mar*_*tin 12 c# xml-serialization
我需要将一些类和数据结构保存到文件中.我的第一反应是使用XML或二进制序列化,但这变成了一场噩梦.我有一组不是序列化的类(私有setter,没有无参数构造函数,没有Serialization属性,字典等).考虑到我不能改变那些课程,我该怎么办?有没有解决方法,仍然使用序列化?
我是否必须编写所有代码来编写属性,集合等?
小智 9
使用JavaScriptSerializer.它位于System.Web.Script.Serialization命名空间中,并在System.Web.Extensions.dll程序集中的3.5框架中实现.
使用此类,您可以序列化任何POCO,无论它是否标记为[Serializable].您的程序不必是使用JSON序列化的Web应用程序.这是一个例子:
public class Unserializable
{
public int Age { get; set; }
public int ID { get; set; }
public string Name { get; set; }
}
public class Program
{
static void Main()
{
var u = new Unserializable
{
Age = 40,
ID = 2,
Name = "Betty"
};
var jser = new JavaScriptSerializer();
var jsonText = jser.Serialize( u );
// next line outputs {"Age":40,"ID":2,"Name":"Betty"}
Console.WriteLine( jsonText );
}
}
Run Code Online (Sandbox Code Playgroud)