在很多时候我们返回值使用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进行序列化一下,这样就行了
原文地址:http://www.cnblogs.com/dongqinglove/p/3815969.html