我想使用 NewtonSoft JSON 序列化列表,我需要在序列化时忽略其中一个属性,我得到了以下代码
public class Car
{
// included in JSON
public string Model { get; set; }
// ignored
[JsonIgnore]
public DateTime LastModified { get; set; }
}
但是我在我的应用程序中的很多地方都使用这个特定类的Car,所以我只想在一个地方排除该选项。
我可以在需要的特定位置动态添加[JsonIgnore]吗?我怎么做 ?
最佳答案
无需做其他答案中解释的复杂工作。
NewtonSoft JSON为此提供了内置功能:
public bool ShouldSerializeINSERT_YOUR_PROPERTY_NAME_HERE()
{
if(someCondition){
return true;
}else{
return false;
}
}
它称为“条件属性序列化”和文档can be found here。
警告:首先,重要的是要除去
[JsonIgnore]
属性上方的{get;set;}
。否则,它将覆盖ShouldSerializeXYZ
行为。关于c# - NewtonSoft在运行时添加JSONIGNORE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25157511/