C#中的Json序列化

核心思想:數據庫

  利用nuget下載「Newtonsoft.Json」包,調用其中的方法能夠json化各類對象。反序列化調用「JsonConvert.DeserializeObject<DataTable>()」方法。json

  例:spa

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();
相關文章
相關標籤/搜索