【c# – 如何使用自定义对象列表序列化类?】教程文章相关的互联网学习教程文章

c# – json.net序列化继承自List的类的附加条件属性【代码】

我有一个继承自List< T>的集合类public class TestCollection : List<Test> {public virtual String SomeTestingDetail { get; set; } }Json.NET将序列化一组测试对象,但不包括SomeTestingDetail属性. 有没有办法强制这个属性也被序列化?解决方法:JSON.net序列化程序将List转换为数组,直接在集合中的任何属性都将被忽略.来自Json.Net站点“因为JSON数组只支持一系列值而不支持属性,所以.NET集合上声明的任何其他属性和字段都不会被...

c# – 将XmlDoc注释与数据一起序列化【代码】

我有一个可序列化的类,我想用它的数据(当然)和它的XmlDoc注释序列化.有谁知道现有的图书馆做这项工作,或至少部分工作? 以Intellisense的方式读取C#代码的XmlDoc是一个很好的起点. 因为例子比理论更好,所以我想要以下(C#)代码public class ApplicationOptions : ISerializable {///<summary>This parameter describes the X property</summary>public int WindowPositionX;///<summary>This comment is the same as in the XML-ser...

c# – 序列化类的子集【代码】

我不会介绍我尝试过的所有事情…… 这大约是我想要完成的.public interface IClientDTO {string FirstName { get; }string LastName { get; } }public class DTO : IClientDTO {public string FirstName { get; set; }public string LastName { get; set; }public string SSN { get; set; } }class Program {static void Main(string[] args) {DTO dto = new DTO() { FirstName = "John", LastName = "Doe", SSN = "111001111" };I...

c# – Json.NET在序列化上获取通用属性类型名称?【代码】

我试图找出如何从我的API返回核心对象public class Response<T> {public T Data {get;set;} }其中T是具有属性的某个对象,例如public class Thang {public string Thing {get;set;} }使用JsonConvert.Serialize(myResponse);将T Data属性作为Data返回,这是正确的. 但是,如果我想使用T的类型名称呢?因此响应Json实际上会包含一个名为Thang not Data的属性,如下所示.{"thang": {"thing" : "hey"} }我很好奇是否有一个相对简单的方法...

c# – 使用Json.NET填充非可序列化对象【代码】

在测试中,我想从JSON字符串填充对象(视图模型).例如,目标对象具有以下属性:public string Query { get; set; }所以我希望能够做到这一点:var target = ...; JsonConvert.PopulateObject(target, "{ 'Query': 'test' }");但是,未设置Query属性.通过代码进行调试,似乎忽略了目标上的属性,因为成员序列化是选择加入的.由于目标类不是数据契约,并且在单元测试之外没有以这种方式填充,因此我无法通过属性将其选择为成员序列化. 我找不...

c# – 在序列化之前如何检查类文件是否已更改?【代码】

我们为大量C#类型提供了自定义序列化过程.但是,重新生成所有类/类型的所有序列化信息非常耗时,我们计划通过计算文件的散列来优化序列化过程,如果不同,我们生成序列化输出,否则我们跳过它.编辑:我们可以将哈希存储在一个字典中,该字典可以输出到文件并在处理时重新读取.这是当前的想法. 我们当前的序列化处理器的工作原理如下 – 我们将要序列化的类型添加到repo中:SerializerRepo.Add(typeof(MyType)); //Add type to be seriali...

c# – RestSharp – 使用无效的密钥名称反序列化json响应(包含句点)【代码】

我已经坚持了一段时间.我有一个JSON响应,向我发送包含句点的密钥.例如:“cost_center.code” 我怎样才能把它变成我的对象?我没有收到任何错误,但是这个值只是作为null而没有被反序列化到我的班级中. 这是我的课程:public class Result {public string company { get; set; }public string first_name { get; set; }public string email { get; set; }public string employee_id { get; set; }public string last_name { get; se...

c# – 无法使用空值序列化json【代码】

[JsonObject(MemberSerialization.OptIn)] public class NameIDItem {[JsonProperty]public string _name{ get; set; }[JsonProperty]public int _id { get; set; }public NameIDItem(){}public NameIDItem(string name, int id){_name = name;_id = id;} }[JsonObject(MemberSerialization.OptIn)] public class LinkListOfUserGroup {public List<NameIDItem> NewItems { get; set; }public List<NameIDItem> RemovedItems { get...

c# – JSON.net(de)序列化无类型属性【代码】

假设我有一个这样的类:public class Example {public int TypedProperty { get; set; }public object UntypedProperty { get; set; } }假设某人出现并写道:var example = new Example {TypedProperty = 5,UntypedProperty = Guid.NewGuid() }如果我用JsonConvert.SerializeObject(示例)序列化它,我得到{"TypedProperty": 5,"UntypedProperty": "24bd733f-2ade-4374-9db6-3c9f3d97b12c" }理想情况下,我想得到这样的东西:{"TypedP...

c# – 使用API​​Controller补充[FromUri]序列化【代码】

我们有多个API控制器接受GET请求,如下所示://FooController public IHttpActionResult Get([FromUri]Foo f); //BarController public IHttpActionResult Get([FromUri]Bar b);现在 – 我们希望(或者,被迫)全局更改GET查询字符串中的DateTime字符串格式"yyyy-MM-ddTHH:mm:ss" -> "yyyy-MM-ddTHH.mm.ss"更改后,包含DateTime类型的类的所有[FromUri]序列化都将失败. 有没有办法补充[FromUri]序列化以接受查询字符串中的DateTime格式?...

C#中json字符串的序列化和反序列化【代码】【图】

今日写番茄闹钟程序,打算添加日程安排内容,使用到json格式文件的序列化和反序列化:什么是 Json ?Json【javascript对象表示方法】,它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易被计算机转化和生成,它是完全独立于语言的。Json支持下面两种数据结构: 键值对的集合–各种不同的编程语言,都支持这种数据结构; 有序的列表类型值的集合–这其中包含数组,集合,矢量,或者序列,等等。 Json有下面几种...

关于C#语言中XML序列化的Arrayname【代码】

[XmlRootAttribute("Order",IsNullable = false)] public class Order {[XmlAttribute("pay_method")]public string paymethod { get; set; }[XmlAttribute("name")]public string custid { get; set; }[XmlArray("")][XmlArrayItem("Cargo", IsNullable = false)]public Cargo[] Cargos { get; set; }[XmlArray("")][XmlArrayItem("AddedService", IsNullable = false)]public AddedService[] AddedServices { get; set; } }X...

c#布尔序列化问题【代码】

我有一个值我希望反序列化为布尔值,但反序列化不支持给定的情况,即:FALSE或TRUE,并且提供的格式变得很麻烦,我得到一个异常抛出:System.FormatException: The string 'FALSE' is not a valid Boolean value.我知道这是因为XML序列化程序不支持这一点;只允许有效的XML模式值,例如’false’或’true(研究的第1位,检查!). 所以,第一种方法是创建一个字符串属性来进行转换,如下所示:public class MyExample {[XmlIgnore] public boo...

c# – Serialise to XML并包含序列化对象的类型【代码】

在上一个关于serialising an object to an XmlDocument in C#的问题中,我需要将一些错误信息序列化为从asmx样式的webservice调用返回的XmlDocument.在客户端上,我需要将XmlDocument反序列化回一个对象. 如果您知道类型,这很简单,但我意识到我想要一种灵活的方法,其中反序列化的类型也在XmlDocument中编码.我目前正在通过向具有类型名称的XmlDocument添加XmlNode手动执行此操作,计算方法如下:Type type = fault.GetType();string a...

c# – 序列化和反序列化大文件

有没有什么好方法可以在c#中对大文件(> 10M)进行序列化和反序列化. 提前致谢.解决方法:de / serializing小文件或大文件之间没有任何区别.你只需要确保不要将非常大的文件反序列化到内存中,这会给你买OOM. 当然,大文件需要更多时间.如果这使您的用户界面无响应,那么您将希望在后台线程中执行此处理. BackgroundWorker是一种典型的解决方案. 在黑暗中随机拍摄这里顺便说一下,你的问题太模糊了.

序列化 - 相关标签