Json.NET部分序列化集合

时间:2013-06-22 19:45:39

标签: c# serialization json.net

如何根据所包含对象的某些条件部分序列化集合? 我已经查看了JsonConverterContractResolver,但仍然无法弄明白。

我在谈论一般情况。

例如:IList,int numbers =>只有偶数 我只想在序列化过程中忽略一些项目。

1 个答案:

答案 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]}

我希望它有所帮助。