草庐IT

SERIALIZATION

全部标签

c# - 实现 ISerializable 时永远不会命中 GetObjectData() 方法

XmlSerializer从不在我的ISerializable上调用GetObjcetData()。GetObjectData()何时被调用?谢谢!classProgram{staticvoidMain(string[]args){varthing=newThing{Name="Dude",Id=1};varxmlSerializer=newXmlSerializer(typeof(Thing));varsw=newStringWriter();xmlSerializer.Serialize(sw,foo);varserializedXml=sw.ToString();varsr=ne

c# - .NET XML 序列化和继承

我有这样的结构:publicinterfaceA{publicvoidmethod();}publicclassB:A{}publicclassC:A{}Listlist;List包含类型B和C的对象,它们也有一些我想保留的字段,我现在可以序列化它,反序列化回来并获得正确的对象实例吗?最好是XML编辑:有什么简单的方法可以序列化这个包含接口(interface)的列表,然后反序列化回B和C实例吗? 最佳答案 假设您正在使用内置的.netXML序列化,您应该查看以下属性:System.Xml.Serialization.XmlIncl

c# - Unity C# JsonUtility 没有序列化列表

我有一些数据需要序列化/反序列化,但JsonUtility只是没有做它应该做的事情。这是我正在使用的对象:publicclassSpriteData{publicstringsprite_name;publicVector2sprite_size;publicListsubimage;}publicclassSpriteDataCollection{publicSpriteData[]sprites;}如果我创建一个SpriteDataCollection,并尝试使用JsonUtility对其进行序列化,我只会得到一个空对象{}。这是它的构建方式:SpriteDatadata=newS

c# - JSonNet bool 序列化

快速提问:在JSONNet中——如何获取booltrue/false以序列化为bool1/0我可以看到我们如何处理空值以及所有似乎无法找到如何执行此操作的方法。这可能吗? 最佳答案 您可以像这样实现自定义转换器:[TestFixture]publicclassCustomJsonSerialization{[Test]publicvoidTest(){stringserializeObject=JsonConvert.SerializeObject(true,newBoolConverter());Assert.That(seria

c# - 结构的快速序列化/反序列化

我有大量地理数据以仅包含结构的简单对象结构表示。我的所有字段都是值类型。publicstructChild{readonlyfloatX;readonlyfloatY;readonlyintmyField;}publicstructParent{readonlyintid;readonlyintfield1;readonlyintfield2;readonlyChild[]children;}数据被很好地分块到Parent[]-s的一小部分。每个数组包含几千个Parent实例。我有太多数据无法全部保存在内存中,因此我需要将这些block来回交换到磁盘。(一个文件将产生大约2-300KB

c# - k__BackingField 在 C# 中删除(通过 Swashbuckle/Swagger 看到)

我在我的ASP.NETwebapi项目中使用所有默认设置的Swashbuckle5。它序列化我的方法的输出,以便向我显示回复的架构。我得到的文档看起来像这样:ResponseClass(Status200)ModelModelSchema[{"k__BackingField":"string","k__BackingField":"string","k__BackingField":0}]这是通过以下C#代码生成的//////Fetchesallsystemconfigurationitems//////ListofitemspublicIListGetAllSystemConfigu

c# - 如何使用 DataContractJsonSerializer 将类类型而不是命名空间序列化为 Json 字符串

我正在尝试在WCF服务中使用DataContractJsonSerializer将类层次结构序列化为Json字符串。序列化派生类的默认行为是将以下键值对添加到对象:"__type":"ClassName:#Namespace"我的问题是命名空间很长,它们会使Json字符串膨胀。我想以某种方式干预序列化并改为输出:"__type":"ClassName"并在反序列化时再次干预以指向正确的命名空间(我在运行时知道)。有什么办法可以做这样的事情吗? 最佳答案 Thispage描述发出__type属性的情况。简而言之,在WCF中,如果您使用

c# - 如何让 newtonsoft 将 yes 和 no 反序列化为 bool 值

注意:我已在此提要底部提供了解决方案。我有一个C#Win8应用程序,我正在反序列化一些如下所示的json:{'Unit':[{'name':'House123',isAvailable:'no'},{'name':'House456',isAvailable:'yes'}]}进入一个使用这个接口(interface)的类:publicinterfaceIUnit{stringName{get;}boolisAvailable{get;}}但是Newtonsoft抛出一个错误:Unexpectedcharacterencounteredwhileparsingvalue:n.Path'U

c# - 在 MVC 中将 JSON 字符串转换为 JsonResult

我们正在尝试制作模拟服务来为JSON提供服务。我们将纯JSON字符串存储在静态文件中,并希望将它们按原样提供给客户端,而不需要任何额外的包装器。例如。我们有json字符串{"result_code":200,{"name":"John","lastName":"Doe"}}并且我们想像这样在客户端上获得json响应而不需要任何内容或数据包装器。我们有使用数据契约并将json反序列化为C#对象的解决方案,但这有点复杂,我们不需要它。谢谢 最佳答案 您可以通过引用System.Web.Mvc来完成此操作。我放在一起的快速控制台应用程序中

c# - DataContractSerializer 未正确反序列化,缺少对象中方法的值

我的一些类(class)[Serializable][DataContract(Namespace="")]publicclassSomeClass{[DataMember]publicstringFirstName{get;set;}[DataMember]publicstringLastName{get;set;}[DataMember]privateIDictionarycustomValues;publicIDictionaryCustomValues{get{returncustomValues;}set{customValues=value;}}}我的XML文件:JohnS