转化 DataTable 或者 Dataset 为 Json 数据可以借助于第三方库,比如 Newtonsoft.Json 库。以下是具体的示例攻略:
1. 使用 Newtonsoft.Json 转换单个 DataTable
- 在 Visual Studio 等 IDE 中,在项目中添加 Newtonsoft.Json 库,或者通过 NuGet 安装
- 给 DataTable 填充一些数据,使得后续可以将其转化为 Json 数据。以下是示例代码:
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("age");
DataRow dr = dt.NewRow();
dr["name"] = "John";
dr["age"] = "20";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["name"] = "Tom";
dr["age"] = "25";
dt.Rows.Add(dr);
- 使用 SerializeObject 方法将 DataTable 转换为 Json 数据字符串:
using Newtonsoft.Json;
string json = JsonConvert.SerializeObject(dt, Formatting.Indented);
- 最终得到的 Json 数据字符串为:
[
{
"name": "John",
"age": "20"
},
{
"name": "Tom",
"age": "25"
}
]
2. 使用 Newtonsoft.Json 转换 DataSet
可以通过以下方式将 DataSet 转化为 Json 数据:
- 初始化一个 DataSet,给其中至少一个 DataTable 填充数据,以便后续进行转换。以下是示例代码:
DataSet ds = new DataSet();
DataTable dt1 = new DataTable("table1");
dt1.Columns.Add("name");
dt1.Columns.Add("age");
DataRow dr = dt.NewRow();
dr["name"] = "John";
dr["age"] = "20";
dt1.Rows.Add(dr);
ds.Tables.Add(dt1);
- 使用 DataSet 的 Tables 属性,依次获取 DataTable 对象并转换为 Json 数据串,或者直接调用 Newtonsoft.Json 库提供的 JsonConvert.SerializeObject 方法:
using Newtonsoft.Json;
string json = JsonConvert.SerializeObject(ds, Formatting.Indented);
- 最终得到的 Json 数据串为:
{
"table1": [
{
"name": "John",
"age": "20"
}
]
}
以上即是把 DataTable 和 DataSet 转换为 Json 数据的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中把DataTable、Dataset转Json数据 - Python技术站