【发布时间】:2016-02-29 05:47:15
【问题描述】:
我想将一个 json 对象反序列化为一个 c# 类,并拥有一个完全填充的默认对象,即使我的 JSON 缺少信息。我试过了
- 带有 [DefaultValue] 的注释
- 为类创建构造函数
- 使用设置对象反序列化
设置对象:
new JsonSerializerSettings {
DefaultValueHandling = DefaultValueHandling.Populate
NulValueHandling = NullValueHandling.Include
ObjectCreationHandling = ObjectCreationHandling.Replace
}
考虑这些 c# 类
public class Root{
public SpecialProperty name {get;set;}
public SpecialProperty surname {get;set;}
}
public class SpecialProperty {
string type {get;set;}
string value {get;set;}
}
考虑一下这个 JSON
"Root" : {
"name" : {
"type" : "string",
"value": "MyFirstname"
}
}
如何将此 json 反序列化为一个对象,并将可用数据序列化为一个新对象和缺少的属性,在这种情况下,设置为 string.empty?
【问题讨论】:
标签: c# json json.net deserialization