json。net 序列化 反序列化 转成datatable

public string GetRepairInfolist(int paper,string swhere)
{
int startIndex = (paper - 1) * 8 + 1;
int endIndex = paper * 8;
string jsonData = string.Empty;
if(string.IsNullOrEmpty(swhere))
{
swhere = "";
}
//if (!string.IsNullOrEmpty(swhere))
//{
DataSet dt = bll.GetListByPage(swhere, "", startIndex, endIndex);
List<Jasonzhao.Model.Repairmodel> lstModel = new List<Jasonzhao.Model.Repairmodel>();
for (int d = 0; d < dt.Tables[0].Rows.Count; d++)
{
Jasonzhao.Model.Repairmodel model = new Jasonzhao.Model.Repairmodel();
model.Repairid = int.Parse(dt.Tables[0].Rows[d]["id"].ToString());
model.RepairNum = dt.Tables[0].Rows[d]["RepairNum"].ToString();
model.RepairHuman = dt.Tables[0].Rows[d]["RepairHuman"].ToString();
model.RepairHumanPhone = dt.Tables[0].Rows[d]["RepairHumanPhone"].ToString();
model.RepairCatalogId = dt.Tables[0].Rows[d]["RepairCatalogId"].ToString();
model.Position = dt.Tables[0].Rows[d]["Position"].ToString();
model.DescN = dt.Tables[0].Rows[d]["DescN"].ToString();
model.ImgUrl = dt.Tables[0].Rows[d]["ImgUrl"].ToString();
model.RepairStatus = dt.Tables[0].Rows[d]["RepairStatus"].ToString();
model.RepairTime = dt.Tables[0].Rows[d]["RepairTime"].ToString();
model.RepairHumanText = dt.Tables[0].Rows[d]["RepairHumanText"].ToString();
lstModel.Add(model);
}
//Json.NET序列化
jsonData = Jasonzhao.Common.JsonHelper.json(lstModel);
// }
return jsonData;
}

 

//后台反序列化

public static DataTable JsonToDataSet(string Jsonstring)
{
DataTable ds = new DataTable();
try
{
Jsonstring = Jsonstring.Replace("\\", "").Trim();
Jsonstring = Jsonstring.Substring(1, Jsonstring.Length - 2);
List<Jasonzhao.Model.Repairmodel> lstModel = new List<Jasonzhao.Model.Repairmodel>();
lstModel = (List<Jasonzhao.Model.Repairmodel>)Jasonzhao.Common.JsonHelper.jsonDes<List<Jasonzhao.Model.Repairmodel>>(Jsonstring);
ds = ListToTable<Jasonzhao.Model.Repairmodel>(lstModel);
}
catch { }
return ds;
}

//转成datatable

public static DataTable ListToTable<T>(List<T> list)
{
Type tp = typeof(T);
PropertyInfo[] proInfos = tp.GetProperties();
DataTable dt = new DataTable();
foreach (var item in proInfos)
{
dt.Columns.Add(item.Name, item.PropertyType); //添加列明及对应类型
}
foreach (var item in list)
{
DataRow dr = dt.NewRow();
foreach (var proInfo in proInfos)
{
object obj = proInfo.GetValue(item);
if (obj == null)
{
continue;
}
dr[proInfo.Name] = obj;
}
dt.Rows.Add(dr);
}
return dt;
}

转载于:https://www.cnblogs.com/axin85/p/7898091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值