草庐IT

Fastjson反序列化漏洞

全部标签

c# - 如何使用采用 XDocument 的构造函数将 XML 反序列化为对象?

我有一个类:publicclassMyClass{publicMyClass(){}}我希望能够使用XMLSeralizer直接在构造函数中反序列化XDocument,因此:publicclassMyClass{privateXmlSerializer_s=newXmlSerializer(typeof(MyClass));publicMyClass(){}publicMyClass(XDocumentxd){this=(MyClass)_s.Deserialize(xd.CreateReader());}}除非我不允许在构造函数中分配给“this”。这可能吗?

c# - 为什么 .Net 框架中有那么多简单类型没有标记为可序列化?

我发现.Net框架中的许多简单类型没有标记为可序列化,这是一个反复出现的不便。例如:System.Drawing.Point或Rectangle。这两个结构都只包含原始数据,应该可以很容易地以任何格式序列化。但是,由于缺少[System.Serializable]属性,我无法将它们与BinaryFormatter一起使用。这有什么我没有看到的原因吗? 最佳答案 这只是一个效率问题。将字段标记为可序列化,编译器必须将每个字段映射到别名表。如果它们都被标记为可序列化,则每个注入(inject)或继承它们的对象都需要映射到别名表以处理其序

c# - 反序列化 XML 时出现 FileNotFoundException

我们最近开始看到在反序列化XML时偶尔会抛出FileNotFoundException。消息是找不到用于从XML映射到代码的临时程序集。来自this文档看起来当.NETFramework无法创建此文件时可能会发生这种情况(但是即使在内部异常中也未捕获的原因)。异常(exception)情况:Type:System.IO.FileNotFoundException,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089Message:Couldnotfindfile'C:\DocumentsandS

c# - 使用 Json.net - C# 对象的部分自定义序列化

我要使用Newtonsofts的Json.Net将一些对象和数组序列化为json。这些对象有一组共同的属性,但也有Meta属性,它是一个字典在序列化期间,我希望将键值对添加到我的json对象中,就好像它们位于根级属性中一样,就像这样......{id:1,name:'jeff',food:'spinch',spoon:'ýes'}不是这样的:{id:1,name:'jeff',meta:{food:'spinch',spoon:'ýes'}}我已经深入研究了JsonSerializerSettings,但似乎无法发现我可以跳入并覆盖的位置??? 最佳答案

c# - 为什么我不能使用 XmlSerializer 序列化只读字段?

XmlSerializer不序列化只读字段、只读属性(仅使用getter)、私有(private)字段等。此外,如果类没有无参数构造函数,它也不会序列化对象。我的问题:据我所知,这些问题的出现是因为在反序列化时无法访问(和更改)私有(private)(和只读)字段。但是如果我不反序列化呢?我没有这个选项吗?由于同样的原因(反序列化问题),如果类没有无参数构造函数,它不会序列化对象。但是当我添加一个私有(private)的无参数构造函数时,它工作正常。怎么办?我不喜欢为每个类都添加一个无参数构造函数,并将所有字段设为公共(public)和非只读,只是为了能够对其进行序列化。现在我在私有(

c# - 具体 C# 类中是否需要可序列化属性?

在C#中,假设我们有一个通用类和一个具体类[Serializable]publicclassGenericUser{...[Serializable]publicclassConcreteUser:GenericUser{...是否有必要将ConcreteUser标记为[Serializable]或继承会处理它? 最佳答案 Inherited通过SerializableAttribute的[AttributeUsage]设置为false,所以是的,您需要将其设置在具体类上。参见http://msdn.microsoft.com/en

c# - 为什么XmlSerializer可以序列化抽象类而不能序列化接口(interface)?

编辑这段代码应该可以说明整个问题:[XmlInclude(typeof(AThing1))]publicabstractclassAThing{publicabstractstringName{get;set;}}[XmlInclude(typeof(IThing1))]publicinterfaceIThing{stringName{get;set;}}publicclassAThing1:AThing{publicoverridestringName{get;set;}}publicclassIThing1:IThing{publicstringName{get;set;}}Lis

c# - XML反序列化泛型方法

我有下一个XML文件:d639a54f-baca-11e1-8067-001fd09b1dfd-24145e3b3b4cd-bb8e-11e1-8067-001fd09b1dfd0.28我将它反序列化为这个类:[XmlRoot("Root",IsNullable=false)]publicclassDocBalanceCollection{[XmlElement("Document")]publicListDocsBalanceItems=newList();}DocBalanceItem是:publicclassDocBalanceItem{[XmlElement("Id")]pub

c# - 配置 .NET WCF UTF-8 反序列化器以修改/丢弃非最短格式字符而不是抛出异常?

我们有一个通过WCF托管的SOAP网络服务。我们偶尔从其中接收数据的客户端之一使用非最短格式对UTF-8进行编码(有关这方面的一些信息,请参阅http://www.unicode.org/versions/corrigendum1.html)。修改客户端并不容易,因为我们的代码没有对这些非最短形式的字符进行编码。相反,我们希望编辑WCF服务以丢弃这些字符,将它们替换为其他占位符字符,甚至接受非最短形式的字符。对于我们的用例,这些中的任何一个都是可以接受的,尽管前一个选项是首选,因为它们减少了任何安全风险。查看堆栈跟踪:System.ServiceModel.Dispatcher.Net

c# - 我可以指示 Json.NET 反序列化但不序列化特定属性吗?

这个问题在这里已经有了答案:Makingapropertydeserializebutnotserializewithjson.net(13个答案)关闭6年前。我有一个AngularJS+MVC5+WebAPI2应用程序,它允许用户在浏览器中管理对象集合,并在单击“保存”按钮时立即提交所有更改。随着更改的进行,一个或多个属性将添加到JavaScript对象:IsAdded、IsUpdated、IsRemoved。在服务器端检查属性以确定在持久化模型时要做什么。该模型是通过WebAPI使用Json.NET提供的,基类是:publicclassCollectionItemViewModel