前言:
现在同学们对“实体类对象转化为字符串”大体比较重视,大家都需要分析一些“实体类对象转化为字符串”的相关文章。那么小编也在网络上搜集了一些有关“实体类对象转化为字符串””的相关资讯,希望各位老铁们能喜欢,咱们快快来了解一下吧!在进行C#接口开发时经常需要将数据集转换成json返回,下面介绍一种将DataTable数据转换成实体类,然后再转换成json的方法。
一、创建全病案类
/// <summary> /// 全病案 /// </summary> class Qba { /// <summary> /// id /// </summary> public int ID { get; set; } /// <summary> /// 病案名称 /// </summary> public string BAMC { get; set; } /// <summary> /// 名称 /// </summary> public string WBMC { get; set; } /// <summary> /// 内容 /// </summary> public string WBNR { get; set; } }
二、工具类
/// <summary> /// 将DataTable数据源转换成实体类 /// </summary> /// <typeparam name="T">实体</typeparam> public static class ToModel<T> where T : new() { /// <summary> /// 将DataTable数据源转换成实体类 /// </summary> public static List<T> ConvertToModel(DataTable dt) { List<T> ts = new List<T>();// 定义集合 foreach (DataRow dr in dt.Rows) { T t = new T(); PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性 foreach (PropertyInfo pi in propertys) { if (dt.Columns.Contains(pi.Name)) { if (!pi.CanWrite) continue; var value = dr[pi.Name]; if (value != DBNull.Value) { switch (pi.PropertyType.FullName) { case "System.Decimal": pi.SetValue(t, decimal.Parse(value.ToString()), null); break; case "System.String": pi.SetValue(t, value.ToString(), null); break; case "System.Int32": pi.SetValue(t, int.Parse(value.ToString()), null); break; default: pi.SetValue(t, value, null); break; } } } } ts.Add(t); } return ts; } }
三、调用
class Root { public List <Qba > qba { get; set; } public Root(string syxh) { DataTable data = DataAccess.Access().GetTableByProcedure("存储名称", new SqlParameter[]{ new SqlParameter("@唯一号",syxh) }); qba = ToModel<Qba>.ConvertToModel(data); } }
四、将实体类转换成json字符串
Root root = new Root(syxh);String jsonStr = JsonConvert.SerializeObject(root);
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #实体类对象转化为字符串 #将实体类转换成json #实体类转换成json