我知道ScriptIgnoreAttribute
。
但是,如果我想根据标准忽略属性,该怎么办? 例如,如果序列化的nullable属性为null并且不包含任何值,那么如何忽略它?
答案 0 :(得分:26)
使用 [ScriptIgnore]
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;
}
答案 1 :(得分:7)
我最好的答案是制作你自己的JavaScriptConverter并根据你自己的条件解析财产。
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
//...
if (!object.ReferenceEquals(dictionary["MyProperty"],null)){
// My Code
}
//...
}
答案 2 :(得分:3)
我使用内部而不是公共属性,它对我有用