C# | DataGridView数据转存为Json、XML格式

C# | DataGridView数据转存为Json、XML格式

文章目录

  • C# | DataGridView数据转存为Json、XML格式
    • 前言
    • DataGridView数据转为JSON数组
    • DataGridView数据转为XML格式

前言

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格式的字符串了。

你可能感兴趣的:(c#,c#,json,xml,.net,winform)