不要序列化特定的数据成员,但DESERIALIZE,任何机会?

时间:2010-04-08 17:46:06

标签: c# silverlight json

我正在使用DataContractJsonSerializer来实现这个类:

public class User
{

    public string id { get; set; }
    public string name { get; set; }
    public string password { get; set; }
    public string email { get; set; }
    public bool is_broker { get; set; }
    public string branch_id { get; set; }
    public string created_at { get; set; }
    public string updated_at { get; set; }
    public UserGroup UserGroup {get;set;}
    public UserAddress UserAddress { get; set; }
    public List<UserContact> UserContact {get; set;}

    public User()
    {
        UserGroup = new UserGroup();
        UserAddress = new UserAddress();
        UserContact = new List<UserContact>();
    }
}

问题是,当我实现json时,属性UserGroup是实现的,但我不需要这个,我想实现json whitout UserGroup属性。

Obs:当Deserealize完全没有UserGroup时,我需要!!

任何诡计?????? 感谢!!!

1 个答案:

答案 0 :(得分:0)

您可以像下面的简单示例一样装饰它们

[DataContract]
public class Customer
{
    [IgnoreDataMember]
    public Age Age { get; set; }

    [DataMember]
    public string Name { get; set; }
}

但是使用这种方法时,反序列化时不会设置Age(它将为null)。因此,如果您在反序列化时需要它,我建议不要在您的类上添加属性。