C#学习教程:要反序列化的对象有一个C#关键字分享


要反序列化的对象有一个C#关键字

在按原样定义JSON的情况下,为了将其反序列化为对象,我需要在我的类上创建一个名为“event”的属性,它是一个C#关键字。 还有另一种方法可以告诉它字段名称是什么吗?

这是JSON的一个例子:

{event:123 data:{“data”:“0D0401”,“ttl”:“60”,“published_at”:“2014-04-16T18:04:42.446Z”,“id”:“48ff6f065067555031192387”}}

以下是因为关键字而无法编译的类:

public class Event { public int event { get; set; } public EventDetail data { get; set; } } public class EventDetail { public string data { get; set; } public string ttl { get; set; } public DateTime published_at { get; set; } public string id { get; set; } } 

尝试使用相关属性上的[DataContract(Name = "@event")]属性。 然后它将(de)正确序列化,您可以重命名该属性以便编译。

更改

 public class Event { public int event { get; set; } public EventDetail data { get; set; } } 

对此

 public class Event { public int @event { get; set; } public EventDetail data { get; set; } } 

这个提示显示了在C#中转义所涉及的怪癖:

例如’”,’ n’,’ u20AC’(欧元货币符号),’ x9′

(相当于 t)) – 文字字符串转义:

例如“…… t … u0040 … U000000041 … x9 ……”

例如@“……”“……”

例如“…… {{…}} ……”

例如@if(if if as identifier)

例如i u0064(用于id)

我能够将“e”大写,它仍然有效。 看起来解析机制不区分大小写。

上述就是C#学习教程:要反序列化的对象有一个C#关键字分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/960203.html

发表评论

邮箱地址不会被公开。 必填项已用*标注