使用C#把Json转换成DataTable
要将 JSON 转换为 DataTable,你可以使用 Newtonsoft.Json 库(也称为 Json.NET),它是一个流行的用于处理 JSON 数据的库。 以下是使用 C# 和 Newtonsoft.Json 将 JSON
首先,确保你已经安装了 Newtonsoft.Json 库。 你可以在 Visual Studio 中通过 NuGet
然后,使用以下代码将 JSON 转换为 DataTable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 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 结构和数据格式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界