Но что, если я хочу игнорировать свойство, основанное на критериях.
Например, как игнорировать свойство nullable при сериализации, только если оно null и не содержит никакого значения?
Ответ 1
Лучший возможный ответ: я должен сделать свой собственный JavaScriptConverter и проанализировать свойство на основе ваших собственных условий.
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
//...
if (!object.ReferenceEquals(dictionary["MyProperty"],null)){
// My Code
}
//...
}
using System;
using System.Web.Script.Serialization;
public class Group
{
// The JavaScriptSerializer ignores this field.
[ScriptIgnore]
public string Comment;
// The JavaScriptSerializer serializes this field.
public string GroupName;
}
Ответ 3
Я использовал внутренние, а не общедоступные свойства, и работал у меня