C# | DataGridView数据转存为Json、XML格式
@[toc]
前言
DataGridView是常用的数据展示组件,而将其转存为Json或XML格式,则可以方便地进行数据的传输和存储。
Json格式具有轻量、易读、易解析等优点,广泛应用于Web开发、API接口传输等场景。
XML格式则具有良好的结构化特性,支持命名空间、数据类型等复杂数据表示方式,被广泛应用于数据交换、配置文件等领域。
因此,将DataGridView数据转存为Json、XML格式,不仅能够方便地进行数据的传输和存储,还能够满足不同场景下的数据需求。
本篇文章将介绍如何将DataGridView数据转存为Json、XML格式,并提供相应的代码示例。
DataGridView数据转为JSON数组
要将 DataGridView 中的数据转为 JSON 数组,首先需要遍历 DataGridView 的每一行和每个单元格,将数据以 Dictionary 的形式保存到 List> 中。
然后,使用 Newtonsoft.Json 库的 JsonConvert.SerializeObject 方法将数据转为 JSON 格式的字符串。
// 获取 DataGridView 的数据
List<Dictionary<string, object>> data = new List<Dictionary<string, object>>();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
Dictionary<string, object> rowData = new Dictionary<string, object>();
foreach (DataGridViewCell cell in row.Cells)
{
rowData[cell.OwningColumn.HeaderText] = cell.Value;
}
data.Add(rowData);
}
// 将数据转为 JSON 数组
string json = JsonConvert.SerializeObject(data);
在这段代码中,我们使用 DataGridView 中每一列的唯一的 HeaderText 作为字典中的键。如果 HeaderText 不唯一,可以使用其他标识符来作为键。
DataGridView数据转为XML格式
首先,我们可以使用C#中的XmlSerializer类来将DataGridView中的数据转为XML格式的字符串。
第一步,创建一个XmlSerializer对象,并指定要序列化的数据类型。
XmlSerializer serializer = new XmlSerializer(typeof(DataGridViewRow));
第二步,遍历DataGridView的每一行,将每一行数据序列化为XML格式的字符串,并将它们拼接起来。
StringBuilder sb = new StringBuilder();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
StringWriter writer = new StringWriter();
serializer.Serialize(writer, row);
sb.AppendLine(writer.ToString());
}
第三步,将拼接好的字符串作为最终的XML格式的字符串输出。
string xmlString = sb.ToString();
Console.WriteLine(xmlString);
这样,就可以将DataGridView中的数据转为XML格式的字符串了。