如何根据所包含对象的某些条件部分序列化集合?
我已经查看了JsonConverter
和ContractResolver
,但仍然无法弄明白。
我在谈论一般情况。
例如:IList
,int numbers =>只有偶数
我只想在序列化过程中忽略一些项目。
答案 0 :(得分:0)
我做了一个样本,其中我只序列化偶数。
Container contrainer = new Container();
contrainer.Full = Enumerable.Range(1, 20).ToArray();
JavaScriptSerializer serializer = new JavaScriptSerializer();
String str = serializer.Serialize(contrainer);
public class Container
{
// don't serialize
[ScriptIgnore]
public Int32[] Full { get; set; }
public Int32[] Partial
{
//select what you want to serialize
get { return this.Full.Where(i => (i % 2) == 0).ToArray(); }
set { this.Full = value; }
}
}
<强>结果强>
{"Partial":[2,4,6,8,10,12,14,16,18,20]}
我希望它有所帮助。