我的情况是这样的。我有一个数据集,里面有2个表,第一个表有行,但第二个表有空,这意味着它没有记录。当我使用newtonsoft.json对其进行序列化时,它仅对第一个表数据进行序列化,但我需要第二个表也使用空值,这意味着我可以将其反序列化为另一个数据集,以便它可以有2个表,其中1个表包含数据,另一个表表没有数据。这是在C#中完成的 代码如下
DataTable dt = new DataTable();
dt.TableName = "TblService";
dt.Columns.Add("Service_Id");
dt.Columns.Add("Service_Name");
dt.Rows.Add("1", "AAA");
dt.Rows.Add("2", "BBB");
DataSet ds = new DataSet();
ds.Tables.Add(dt);
DataTable dt1 = new DataTable();
dt1.TableName = "Service_Method";
dt1.Columns.Add("Id");
dt1.Columns.Add("Service_Id");
dt1.Columns.Add("Method_Name");
//dt1.Rows.Add("", "", ""); If I use this I get 2 tables serialized. But I want without using this step.
ds.Tables.Add(dt1);
var json = JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);
这是json值:
{
"TblService": [{
"Service_Id": "1",
"Service_Name": "AAA"
}, {
"Service_Id": "2",
"Service_Name": "BBB"
}],
"Service_Method": []
}
并且没有关于表2的任何数据。
答案 0 :(得分:0)
使用newtonsoft.json及其序列化和反序列化数据集,即使是根据需要使用空数据表.Thnx for ur support