1

我有一个简单的测试模型:

[Serializable]
public class PageModel : IPageModel
    {
        Guid _guid;

        public Guid GUID
        {
            get
            {
                if (_guid == Guid.Empty)
                    _guid = Guid.NewGuid();
                return _guid;
            }
            set
            {
                _guid = value;
            }
        }
        public bool ShouldSerializeGUID()
        {
            return false; // GUID still serialized!
        }
}

我尝试像这样序列化它:

    JavaScriptSerializer serializer = new JavaScriptSerializer();

    string jsonData= serializer.Serialize(pageModelInstance);

有人可以告诉我我在这里缺少什么吗?

还有另一种方法来进行条件序列化吗?

4

1 回答 1

1

基本上,JavaScriptSerializer不支持条件序列化的模式。所以:使用一个 - 幸运的是,Json.NET 确实支持这一点,并且工作正常:

string jsonData = JsonConvert.SerializeObject(pageModelInstance);

(不需要其他更改,尽管您可以安全地删除[Serializable]- 不需要)

于 2013-08-14T13:18:03.540 回答