gpt4 book ai didi

c# - 如何序列化未设计为序列化的类?

转载 作者:可可西里 更新时间:2023-11-01 08:22:19 25 4
gpt4 key购买 nike

我需要将一些类和数据结构保存到一个文件中。我的第一 react 是使用 XML 或二进制序列化,但这正在变成一场噩梦。我有一组不打算序列化的类(私有(private) setter 、没有无参数构造函数、没有序列化属性、字典等)。考虑到我不能改变那些类(class),我该怎么办?是否有任何解决方法并仍然使用序列化?

我是否必须编写所有代码来编写属性、集合等?

最佳答案

使用 JavaScriptSerializer。它位于 System.Web.Script.Serialization 命名空间中,并在 System.Web.Extensions.dll 程序集中的 3.5 框架中实现。

使用此类,您可以序列化任何 POCO,无论它是否标记为 [Serializable]。您的程序不必是 Web 应用程序即可使用 JSON 序列化。这是一个例子:

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 );
}
}

关于c# - 如何序列化未设计为序列化的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com