多个JsonProperty名称分配给单个属性
我有两种想要反序列化为一个类的JSON格式。我知道我们不能将两个[JsonProperty]
属性应用于一个属性。
您能否建议我实现这一目标的方法?
string json1 = @" {
'field1': '123456789012345',
'specifications': {
'name1': 'HFE'
}
}";
string json2 = @"
{
'field1': '123456789012345',
'specifications': {
'name2': 'HFE'
}
}";
public class Specifications
{
[JsonProperty("name1")]
public string CodeModel { get; set; }
}
public class ClassToDeserialize
{
[JsonProperty("field1")]
public string Vin { get; set; }
[JsonProperty("specification")]
public Specifications Specifications { get; set; }
}
我希望name1
并且name2
两者都可以反序列化为name1
规范类的属性。
回答:
一个不需要转换器的简单解决方案:只需向您的类添加第二个private属性,将其标记为[JsonProperty("name2")]
,然后将其设置为第一个属性:
public class Specifications{
[JsonProperty("name1")]
public string CodeModel { get; set; }
[JsonProperty("name2")]
private string CodeModel2 { set { CodeModel = value; } }
}
小提琴:https :
//dotnetfiddle.net/z3KJj5
以上是 多个JsonProperty名称分配给单个属性 的全部内容, 来源链接: utcz.com/qa/432572.html