核心思想:
利用nuget下载“Newtonsoft.Json”包,调用其中的方法可以json化各种对象。反序列化调用“JsonConvert.DeserializeObject<DataTable>()”方法。
例:
string str_json;
List<Person> ps;
//初始化数据库对象
var d1 = new myDatabase();
//初始化一个普通类对象
var p1 = new Person() { Xm = "张大力", Nl = };
//初始化一个DataTable对象
DataTable dt = new DataTable();
dt.Columns.Add("Age", Type.GetType("System.Int32"));
dt.Columns.Add("Name", Type.GetType("System.String"));
dt.Columns.Add("Sex", Type.GetType("System.String"));
dt.Columns.Add("IsMarry", Type.GetType("System.Boolean"));
for (int i = ; i < ; i++)
{
DataRow dr = dt.NewRow();
dr["Age"] = i + ;
dr["Name"] = "Name" + i;
dr["Sex"] = i % == ? "男" : "女";
dr["IsMarry"] = i % > ? true : false;
dt.Rows.Add(dr);
}
//分别序列化输出结果
str_json =JsonConvert.SerializeObject(d1.t1);
Console.WriteLine(str_json);
Console.WriteLine();
//随便反序列化一个
ps = JsonConvert.DeserializeObject<List<Person>>(str_json);
str_json = JsonConvert.SerializeObject(p1);
Console.WriteLine(str_json);
Console.WriteLine();
str_json = JsonConvert.SerializeObject(dt);
Console.WriteLine(str_json);
Console.WriteLine();
//输出反序列化的东西
foreach (var item in ps)
{
Console.WriteLine($"{item.Xm}\t{item.Nl}");
}
Console.ReadKey();