继承LIst 的类JSON序列化,无法序列化属性的问题

/// 
    /// Paged list
    /// 
    /// T
    [JsonObject(MemberSerialization = MemberSerialization.OptIn)] 
    public class PagedList : List, IPagedList 
    {
        /// 
        /// Ctor
        /// 
        /// source
        /// Page index
        /// Page size
        /// A value in indicating whether you want to load only total number of records. Set to "true" if you don't want to load data from database
        public PagedList(IQueryable source, int pageIndex, int pageSize, bool getOnlyTotalCount = false)
        {
            var total = source.Count();
            this.TotalCount = total;
            this.TotalPages = total / pageSize;

            if (total % pageSize > 0)
                TotalPages++;

            this.PageSize = pageSize;
            this.PageIndex = pageIndex;
            if (getOnlyTotalCount)
                return;
            this.AddRange(source.Skip(pageIndex * pageSize).Take(pageSize).ToList());
        }

        /// 
        /// Ctor
        /// 
        /// source
        /// Page index
        /// Page size
        public PagedList(IList source, int pageIndex, int pageSize)
        {
            TotalCount = source.Count;
            TotalPages = TotalCount / pageSize;

            if (TotalCount % pageSize > 0)
                TotalPages++;

            this.PageSize = pageSize;
            this.PageIndex = pageIndex;
            this.AddRange(source.Skip(pageIndex * pageSize).Take(pageSize).ToList());
        }

        /// 
        /// Ctor
        /// 
        /// source
        /// Page index
        /// Page size
        /// Total count
        public PagedList(IEnumerable source, int pageIndex, int pageSize, int totalCount)
        {
            TotalCount = totalCount;
            TotalPages = TotalCount / pageSize;

            if (TotalCount % pageSize > 0)
                TotalPages++;

            this.PageSize = pageSize;
            this.PageIndex = pageIndex;
            this.AddRange(source);
        }

        /// 
        /// Page index
        ///  
        [JsonProperty]
        public int PageIndex { get;   }

        /// 
        /// Page size
        ///  
        [JsonProperty]
        public int PageSize { get;   }

        /// 
        /// Total count
        ///  
        [JsonProperty]
        public int TotalCount { get;  }

        /// 
        /// Total pages
        ///  
        [JsonProperty]
        public int TotalPages { get;  }

        /// 
        /// Has previous page
        /// 
        [JsonProperty]
        public bool HasPreviousPage
        {
            get {
                return PageIndex > 0;
            }
            set {

            }
        }

        /// 
        /// Has next page
        /// 
        [JsonProperty]
        public bool HasNextPage
        {
            get
            {
                return PageIndex + 1 < TotalPages;
            } 
        }
        [JsonProperty]
        public List Items
        {
            get
            {
                return this.ToList();
            } 
        }
    }

  

留意   [JsonObject(MemberSerialization = MemberSerialization.OptIn)] 

[JsonProperty]

转载于:https://www.cnblogs.com/evemen/p/10275354.html

你可能感兴趣的:(json,游戏,java)