【发布时间】:2015-06-16 09:28:19
【问题描述】:
我们定义了一个标准的json 格式(错字是故意的):
{
"Name" : "John",
"Salari" : "150000"
}
反序列化(使用 newtonsoft)为:
class Person
{
public string Name;
public string Salari;
}
有没有办法将Salari 更改为Salary 并且仍然能够接受旧名称的消息?
比如:
class Person
{
public string Name;
[DeserializeAlso("Salari")]
public string Salary;
}
要让 newtonsoft 反序列化器了解 Salari 应该反序列化为 Salary 字段?
【问题讨论】:
-
string.Replace("\"Salari\",\"Salary\") 是不是不行了?
-
签出this。
-
@Nissim 我宁愿不这样做,因为这需要在很多地方跟踪它
-
@AndreiV 不会把“薪水”划掉而只保留“薪水”吗?
-
@AndreiV 我认为 shmoopy 想使用匿名对象。您引用的答案要求对象存在