通用返回值封装

  在很多时候我们返回值使用json会更方便一点,下面我把我常用到的返回值封装代码贴出来。

 public class ApiJsonResult<T>
    {
        public T Data { get; set; }
        public ApiJsonError Error { get; set; }

        public int Total { get; set; }

        public ApiJsonResult(T data, ApiJsonError error = null)
        {
            this.Data = data;
            this.Error = error;
        }

        public ApiJsonResult(T data, ApiJsonError error, int total)
        {
            this.Data = data;
            this.Error = error;
            this.Total = total;
        }
    }
 public class ApiJsonError
    {
        /// <summary>
        /// 错误编号
        /// </summary>
        public int Code { get; set; }
        /// <summary>
        /// 错误内容
        /// </summary>
        public string Message { get; set; }

        public ApiJsonError()
        {
        }

        public ApiJsonError(int errorCode, string errorMessage)
        {
            this.Code = errorCode;
            this.Message = errorMessage;
        }
    }

这个封装虽然简单,但是很灵活,所以我用的比较多,创建一个ApiJsonResult对象后就可以用json.net序列化一下,我把json序列化的代码也封装了一下

  public class JsonNet
    {
        /// <summary>
        /// 将实体对象转换成json字符串
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static string SerializeToEntity(object item)
        {
            return JsonConvert.SerializeObject(item);
        }
        /// <summary>
        /// 将json字符串转换成实体对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public static T DeserializeToString<T>(string jsonString)
        {
            return JsonConvert.DeserializeObject<T>(jsonString);
        }
    }

这个用户一个请求发过来,进行相应的业务逻辑处理后创建一个ApiJsonResult对象,然后在用json.net进行序列化一下,这样就行了

 

posted @ 2014-06-30 08:49  dongqinglove  阅读(400)  评论(0编辑  收藏  举报