我知道ScriptIgnoreAttribute

但是,如果我想忽略基于条件的属性该怎么办。
例如,如何仅在序列化为null且不包含任何值时才忽略序列化的可空属性?

最佳答案

我最好的答案是制作自己的JavaScriptConverter并根据您自己的条件解析属性。

public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
  //...
  if (!object.ReferenceEquals(dictionary["MyProperty"],null)){
    // My Code
  }
  //...
}

09-20 23:48