gpt4 book ai didi

c# - ASP.NET Web API 和 [Serializable] 类

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

我有一个标有 [Serializable] 的类。当我从 Web API 返回它时,字段名称都很奇怪。

通常返回的JSON是

[{"OrderId":797 ...

使用 [Serializable] 时返回的 JSON

[{"<OrderId>k__BackingField":797 ...

我不想将其标记为可序列化以使用 BinaryFormatter 进行缓存。除了编写自定义序列化程序或制作不可序列化的孪生类并编写猴子代码以在两者之间“转换”之外,还有其他方法吗?

最佳答案

您只需要一行代码就可以让 Json.NET 再次忽略 [Serializable] 语义:

((DefaultContractResolver)config.Formatters.JsonFormatter.SerializerSettings.ContractResolver).IgnoreSerializableAttribute = true;

对您而言,更好的解决方案可能是完全摆脱 [Serializable],停止使用 BinaryFormatter,并使用不同的序列化器来执行您想做的任何缓存,例如 Json.NET 序列化器。

关于c# - ASP.NET Web API 和 [Serializable] 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13263988/

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