我们定义了一种标准0
格式(错字是故意的):
json
被反序列化(使用newtonsoft):
{
"Name" : "John",
"Salari" : "150000"
}
有没有办法将class Person
{
public string Name;
public string Salari;
}
更改为Salari
,仍然可以接受旧名称的邮件?
类似的东西:
Salary
要让newtonsoft反序列化器了解class Person
{
public string Name;
[DeserializeAlso("Salari")]
public string Salary;
}
应该反序列化到Salari
字段吗?
答案 0 :(得分:3)
您可以使用属性:
class Person
{
protected string _Salary;
public string Salary
{
get { return _Salary; }
set { _Salary = value; }
}
public string Name { get; set; }
}
class BackwardCompatiblePerson : Person
{
public string Salari
{
get { return _Salary; }
set { _Salary = value; }
}
}
使用Person
进行序列化& BackwardCompatiblePerson
用于反序列化。