Json.Net 在.Net Core 2.0 中序列化DataSet 問題
阿新 • • 發佈:2018-03-01
序列化 問題 name 一個 信息 blog 內容 dataset 分享
使用Asp.Net Core中自帶的版本10.0.1
生成一個簡單的DataSet
DataSet ds2 = new DataSet(); DataTable table = new DataTable(); table.Columns.Add(new DataColumn("id") { Caption = "編號" }); table.Columns.Add(new DataColumn("name") { Caption = "姓名" }); DataRow row1 = table.NewRow(); row1["id"] = 1; row1["name"] = "hello"; table.Rows.Add(row1); ds2.Tables.Add(table); string sddtr = JsonConvert.SerializeObject(ds2); var dd = JsonConvert.DeserializeObject<DataSet>(sddtr);
查看序列化後的內容
可以看到數據是已xml的方式展現的,這裏面包括DataSet的基本信息,比如Caption等等。
這個問題可以查看:https://stackoverflow.com/questions/47392643/jsonconvert-serializeobject-with-dataset-returning-unexpected-result
把Json.Net升級到最新的版本
再次查看序列化後的內容
可以發現丟失了元數據的信息。如果原來的DataSet中Table的列是DateTime類型的,反序列化後列會變成String類型。
Json.Net 在.Net Core 2.0 中序列化DataSet 問題