草庐IT

Fastjson反序列化漏洞

全部标签

c# - 是否有用于 .net 的序列化程序将输出 c# 代码?

我正在寻找一个序列化程序,它可以接受一个实例,并将其序列化为一个包含c#代码的字符串,代表图形的内容。该类的功能类似于JSON.NET中的SerializeObject。我知道只有一小部分结构可以工作,但我感兴趣的结构非常简单而且它们会起作用。如果有人知Prop有类似功能的VisualStudioVisualizer,可加分。编辑:输出将在编译时用于不同的应用程序。我不需要在运行时反序列化输出(c#代码),它会保存到文件中以供分析。varfoo=newFoo(){Number=1,Bar=newBar(){Str="Bar"}};stringsourceCode=Magic.Seria

c# - 序列化和反序列化时出现 InvalidCastException

我有这个代码:publicbyte[]SerializeToBlob(){using(varbuffer=newMemoryStream()){varformatter=newBinaryFormatter();formatter.Serialize(buffer,this);buffer.Position=0;returnbuffer.ToArray();}}publicstaticActionDataDeserializeFromBlob(byte[]state){using(varbuffer=newMemoryStream(state)){varformatter=newBin

c# - 使用 JSON.net 序列化时忽略接口(interface)中定义的属性

我有一个具有如下属性的接口(interface):publicinterfaceIFoo{//...[JsonIgnore]stringSecretProperty{get;}//...}我希望在序列化所有实现类时忽略SecretProperty。但似乎我必须在属性的每个实现上定义JsonIgnore属性。有没有一种方法可以实现这一点而不必向每个实现添加JsonIgnore属性?我没有找到任何对我有帮助的序列化程序设置。 最佳答案 经过一番搜索,我发现了这个问题:Howtoinherittheattributefrominterfa

c# - Json.NET 序列化私有(private)成员而不是只读属性

如何自定义Json.NET以序列化私有(private)成员而不序列化公共(public)只读属性(不使用属性)。我尝试过创建自定义IContractResolver,但有点迷茫。 最佳答案 对于部分答案,搞乱DefaultContractResolver.DefaultMembersSearchFlags可以让它包含私有(private)的东西:Newtonsoft.Json.JsonSerializerSettingsjss=newNewtonsoft.Json.JsonSerializerSettings();if(inclu

c# - 如何序列化 IList<T> 等接口(interface)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtoserializeanIList?我希望序列化一个包含S类型属性的类(我们称之为IList)其中T是我定义的另一个类。当我尝试序列化类S的实例时出现异常到XML。这可以理解为XmlSerializer不知道要使用哪个具体类。有没有一种方法,希望使用属性,来指定在序列化/反序列化实例时实例化哪个具体类。我的类(class)实现S创建List的实例类(class)。下面是一些代码来说明我的示例:usingSystem;usingSystem.Xml.Serialization;usingSystem.I

c# - 如何使只读结构 XML 可序列化?

我有一个只有一个字段的不可变结构:structMyStruct{privatereadonlydoublenumber;publicMyStruct(doublenumber)=>this.number=number;}我希望它能够通过以下方式序列化/反序列化:数据契约序列化器二进制格式化程序XML序列化程序(编辑:在原始问题中忘记了)Json.NET(不添加Json.NET作为依赖项)所以结构变成了这样:[Serializable]structMyStruct:ISerializable,IXmlSerializable{privatereadonlydoublenumber;pub

c# - 序列化类型对象时检测到循环引用

我在我的Controller中试过这段代码:Listprom=newList();prom.Add(newProductListingModels(){ID=item.ID,Name=item.Name,DepartmentID=item.DepartmentID.Value,BrandID=item.BrandID.Value});jr.Data=prom;jr.JsonRequestBehavior=JsonRequestBehavior.AllowGet;returnJson(new{ja=jr.Data,},JsonRequestBehavior.AllowGet);这是我的P

c# - 如何将 C# WCF DataContract 序列化/反序列化到 XML 或从 XML 反序列化

我正在开发一个WCF服务,它将被多个不同的客户端应用程序使用。为了使一个功能正常工作,服务器需要将XML文件读入C#DataContract,然后将其传递给相关的客户端。据我从MSDN网站上了解到,这是可能的,但我找不到任何完整的示例。特别是,该网站谈到了一个我还不太了解的“流”参数。我的数据合约有一个属性字段,它是另一个数据合约的列表,它有多个简单的属性字段。例如[DataContract]publicclassMyClass1{[DataMember]publicstringname;[DataMember]publicintage;}[DataContract]publiccla

c# - 具有 Stream 类型成员的对象的 JSON.NET 序列化?

希望这是一个我忽略的简单修复。我有一个对象传递到事件处理程序中,我想使用JSON.NET序列化该对象,如下所示:publicvoidOnEvent(IEventObjectfoo){//Serializefootostring/diskhere?vardata=JsonConvert.SerializeObject(foo,Formatting.Indented);}foo的一个或多个成员似乎是流。我已经认识到Streams不可序列化,因为它们是对数据而非数据本身的抽象。这是有道理的。我不知道如何序列化这个对象:a)将流转换成数据并序列化b)忽略流并序列化其余成员一个重要的警告是我无权

c# - 如何在 Azure Key Vault 中序列化和反序列化 PFX 证书?

我有一堆字符串和pfx证书,我想将它们存储在AzureKeyvault中,只有允许的用户/应用才能获取它们。将字符串存储为Secret并不难,但是我如何以可以检索它并反序列化为X509Certificate2的方式序列化证书?C#中的对象?我尝试将其存储为key。这是Azurepowershell代码$securepfxpwd=ConvertTo-SecureString-String'superSecurePassword'-AsPlainText-Force$key=Add-AzureKeyVaultKey-VaultName'UltraVault'-Name'MyCertific