使用C#把Json转换成DataTable
要将 JSON 转换为 DataTable,你可以使用 Newtonsoft.Json 库(也称为 Json.NET),它是一个流行的用于处理 JSON 数据的库。 以下是使用 C# 和 Newtonsoft.Json 将 JSON
首先,确保你已经安装了 Newtonsoft.Json 库。 你可以在 Visual Studio 中通过 NuGet
然后,使用以下代码将 JSON 转换为 DataTable:
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Data; // JSON 字符串 string json = @"[ { 'Id': 1, 'Name': 'John', 'Age': 30 }, { 'Id': 2, 'Name': 'Jane', 'Age': 25 }, { 'Id': 3, 'Name': 'Bob', 'Age': 40 } ]"; // 将 JSON 字符串解析为 JArray 对象 JArray jsonArray = JArray.Parse(json); // 创建 DataTable DataTable dataTable = new DataTable(); // 添加列 foreach (JProperty property in jsonArray[0]) { dataTable.Columns.Add(property.Name); } // 添加行 foreach (JObject jsonObject in jsonArray) { DataRow row = dataTable.NewRow(); foreach (JProperty property in jsonObject.Properties()) { row[property.Name] = property.Value.ToString(); } dataTable.Rows.Add(row); } // 输出 DataTable foreach (DataRow row in dataTable.Rows) { foreach (DataColumn column in dataTable.Columns) { Console.WriteLine($"{column.ColumnName}: {row[column]}"); } Console.WriteLine(); }
上述代码中,首先定义了一个包含 JSON 数据的字符串 json
。 然后,使用 JArray.Parse()
方法将 JSON 字符串解析为 JArray 对象。 接下来,创建一个空的 DataTable 对象dataTable
。
通过遍历 JArray 中的第一个对象的属性,将其作为列名添加到 DataTable 中。 然后,通过遍历 JArray 中的每个对象,创建新的 DataRow 并将值添加到相应的列中。 最后,将行添加到 DataTable 中。
最后,你可以遍历 DataTable 中的行和列,以查看转换后的数据。
请注意,上述示例中的 JSON 字符串只是一个简单的示例,你可以根据实际情况修改和调整代码以适应你的 JSON 结构和数据格式。