草庐IT

Fastjson反序列化漏洞

全部标签

c# - 将 WCF 4 中的默认 JSON 序列化程序替换为 JSON.NET

我想用JSON.NET替换默认的WCFJSON(适用于所有数据类型)序列化。我在网上搜索过,但找不到可行的解决方案。这是我的对象:[JsonObject]publicclassTestObject{[JsonProperty("JsonNetName")]publicstringName="John";[JsonProperty]publicDateTimeDate=DateTime.Now;}这是我的WCF函数:[OperationContract][WebGet(BodyStyle=WebMessageBodyStyle.Bare,ResponseFormat=WebMessage

c# - 序列化属性,但不要反序列化 Json.Net 中的属性

虽然我发现了很多方法来反序列化特定属性同时防止它们序列化,但我正在寻找相反的行为。我发现很多问题都在问相反的问题:Makingapropertydeserializebutnotserializewithjson.netCanIinstructJson.NETtodeserialize,butnotserialize,specificproperties?JSON.Net-UseJsonIgnoreAttributeonlyonserialization(Butnotwhendeserialzing)我怎样才能序列化一个特定的属性,同时防止它反序列化回POCO?有没有我可以用来装饰特定

c# - 不可打印字符的序列化

以下代码;varc=(char)1;varserializer=newXmlSerializer(typeof(string));varwriter=newStringWriter();serializer.Serialize(writer,c.ToString());varserialized=writer.ToString();vardc=serializer.Deserialize(newStringReader(serialized));在.NET4中抛出此异常。InvalidOperationException-ThereisanerrorinXMLdocument(2,12

c# - 序列化 XML 相同的标签两次

我有问题:我必须将类序列化为XML文件。但是两个属性必须重名:所需的xml:AAABBB我不需要将它反序列化回对象。代码:publicclassHeader1{[XmlElement("Tag1")]publicStringTag1{get;set;}}publicclassHeader2{[XmlElement("Tag2")]publicStringTag2{get;set;}}publicclassTest{[XmlElement("HeaderText")]publicHeader1Header1{get;set;}[XmlElement("HeaderText")]publi

c# - 使用 json.net 反序列化时是否保留数组顺序?

当我使用json.net库将json对象反序列化为c#对象时,数组属性中元素的顺序是否会保持不变?例如:publicclassMySonsThreeFootRadius{publicBooleanIsMessy{get;set;}publicToy[]ToysThrownOnFloor{get;set;}}publicclassToy{publicStringName{get;set;}}{"IsMessy":true,"ToysThrownOnFloor":[{"Name":"Giraffe"},{"Name":"Ball"},{"Name":"Dad'sphone"}]}ToysT

c# - JSON.NET 序列化 JObject 而忽略空属性

我有一个JObject,用作调用RESTful网络服务的模板。这个JObject是通过解析器创建的,因为它被用作告诉用户端点模式是什么样子的模板,我必须想出一种方法来保留所有属性,这就是我默认的原因它们的值为null。例如,这是对象最初的样子:{"Foo":{"P1":null,"P2":null,"P3":null,"P4":{"P1":null,"P2":null,"P3":null,},"FooArray":[{"F1":null,"F2":null,"F3":null,}]},"Bar":null}然后用户可以根据需要填写各个字段,例如Foo.P2和Foo.P4.P1:{"Fo

c# - 更改属性名称以进行序列化

我的类有一个属性“Property”,我希望它在序列化时在JSON对象中显示为“Property”。有什么我可以使用的属性吗? 最佳答案 对于Json.NET和DataContractJsonSerializer使用DataMemberAttribute:[DataMember(Name="PropertyB")]TPropertyA{...}确保您的类也装饰有[DataContract]属性。如果您使用的是JavaScriptSerializer,则需要创建派生实现,如下所述:JavaScriptSerializer.Deseri

C# 从整数反序列化枚举

是否可以在C#中从int反序列化枚举。例如如果我有以下类(class):classEmployee{publicstringName{get;set;}publicintEmployeeTypeID{get;set;}}我可以很容易地从XML创建这个JoeBloggs1使用这样的东西:Employeeemployee=(Employee)newXmlSerializer(typeof(Employee)).Deserialize(XmlReader);只需很少的工作,这让我可以使用一个通用服务,通过将选择命令、连接字符串和类型输入到并检索对象数组,我可以将其用于所有数据库对象,而无需进

c# - 在序列化中将长数字转换为字符串

我有一个使用longasID的定制类。但是,当我使用ajax调用我的操作时,我的ID被截断并且它丢失了最后2个数字,因为javascript在处理大量数字时会失去精度。我的解决方案是为我的javascript提供一个字符串,但ID必须在服务器端保持尽可能长的时间。有没有办法将属性序列化为字符串?我正在寻找某种属性。ControllerpublicclassCustomersController:ApiController{publicIEnumerableGet(){yieldreturnnewCustomerEntity(){ID=1306270928525862486,Name="

c# - 在不实现任何自定义序列化/反序列化时是否需要实现 ISerializable 接口(interface)

我正在查看实现ISerializable接口(interface)的解决方案中的类。它有一个GetObjectData方法,用于根据接口(interface)的要求进行序列化。这里没有发生任何自定义序列化,它只是用类属性的名称及其值填充SerializationInfo对象。[Serializable]publicclassPersonName:ISerializable{[DataMember]publicstringNamePrefix{get;set;}[DataMember]publicstringGivenName{get;set;}[DataMember]publicstr