博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json。net 序列化 反序列化 转成datatable
阅读量:5019 次
发布时间:2019-06-12

本文共 2420 字,大约阅读时间需要 8 分钟。

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

你可能感兴趣的文章
How to install ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr)
查看>>
The Ctrl & CapsLock `problem'
查看>>
Java进阶知识点6:并发容器背后的设计理念 - 锁分段、写时复制和弱一致性
查看>>
Makefile ===> Makefile 快速学习
查看>>
face detection[HR]
查看>>
java性能调优工具
查看>>
C# 其他的Url 文件的路径转化为二进制流
查看>>
cmake使用
查看>>
面向对象高级
查看>>
Bitwise And Queries
查看>>
oracle连接问题ORA-00604,ORA-12705
查看>>
Java从零开始学十三(封装)
查看>>
Python2和Python3中的rang()不同之点
查看>>
lintcode28- Search a 2D Matrix- easy
查看>>
react项目
查看>>
A Simple Tree Problem
查看>>
Modular Inverse [ZOJ 3609]
查看>>
MySQL性能测试工具之mysqlslap使用详解
查看>>
深入理解jsonp跨域请求原理
查看>>
regsvr32注册COM组件失败
查看>>