核心思想:
利用nuget下载“Newtonsoft.Json”包,调用其中的方法可以json化各种对象。反序列化调用“JsonConvert.DeserializeObject<DataTable>()”方法。
例:
string str_json; List<Person> ps; //初始化数据库对象 var d1 = new myDatabase(); //初始化一个普通类对象 var p1 = new Person() { Xm = "张大力", Nl = 20 }; //初始化一个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 = 0; i < 4; i++) { DataRow dr = dt.NewRow(); dr["Age"] = i + 1; dr["Name"] = "Name" + i; dr["Sex"] = i % 2 == 0 ? "男" : "女"; dr["IsMarry"] = i % 2 > 0 ? 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();