首頁 > 後端開發 > C++ > 如何在 C# 中將 DataTable 轉換為帶有'records”數組的 JSON 字串?

如何在 C# 中將 DataTable 轉換為帶有'records”數組的 JSON 字串?

Patricia Arquette
發布: 2025-01-21 16:36:10
原創
383 人瀏覽過

How to Convert a DataTable to a JSON String with a

C# DataTable 到 JSON 轉換:實作所需的格式

本指南示範如何將 C# DataTable 轉換為具有特定結構的 JSON 字串,避免使用預設的 JSON 物件格式。 目標格式是一個 JSON 對象,其中包含單一記錄對象的「記錄」陣列。

步驟:

  1. 填滿資料表: 首先建立一個資料表並使用資料庫(或任何其他來源)中的資料填入它。

  2. 使用JavaScriptSerializer:利用JavaScriptSerializer類別來處理JSON序列化。

  3. 建立字典列表:建構一個列表,將 DataTable 的每一行儲存為字典。

  4. 迭代並填入字典:循環遍歷資料表中的每個DataRow。對於每一行:

    • 建立一個新字典。
    • 迭代資料表中的每個DataColumn
    • 將列名(col.ColumnName)作為鍵,將對應的列值(dr[col])作為值加到字典中。
    • 將完成的字典加入字典列表中。
  5. 序列化列表:最後,使用 JavaScriptSerializer 序列化字典列表,將其包裝在具有「records」屬性的 JSON 物件中。

程式碼範例:

<code class="language-csharp">using System.Web.Script.Serialization;
using System.Data;
using System.Collections.Generic;

public string ConvertDataTableToJson()
{
    DataTable dataTable = new DataTable();
    // Fill dataTable with data from your database

    JavaScriptSerializer serializer = new JavaScriptSerializer();
    List<Dictionary<string, object>> records = new List<Dictionary<string, object>>();

    foreach (DataRow row in dataTable.Rows)
    {
        Dictionary<string, object> record = new Dictionary<string, object>();
        foreach (DataColumn column in dataTable.Columns)
        {
            record.Add(column.ColumnName, row[column]);
        }
        records.Add(record);
    }

    return serializer.Serialize(new { records = records });
}</code>
登入後複製

此修訂後的程式碼提供了一種清晰有效的方法,用於將 DataTable 轉換為指定的 JSON 格式,確保每個記錄在「記錄」陣列中正確表示。 請記得加入必要的 using 語句。

以上是如何在 C# 中將 DataTable 轉換為帶有'records”數組的 JSON 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板