Heim > Backend-Entwicklung > C++ > Wie konvertiere ich eine DataTable in einen JSON-String mit einem „records'-Array in C#?

Wie konvertiere ich eine DataTable in einen JSON-String mit einem „records'-Array in C#?

Patricia Arquette
Freigeben: 2025-01-21 16:36:10
Original
441 Leute haben es durchsucht

How to Convert a DataTable to a JSON String with a

Konvertierung von C# DataTable in JSON: Erreichen des gewünschten Formats

Diese Anleitung zeigt, wie Sie eine C#-Datentabelle in einen JSON-String mit einer bestimmten Struktur konvertieren und dabei das Standard-JSON-Objektformat vermeiden. Das Zielformat ist ein JSON-Objekt, das ein „records“-Array einzelner Datensatzobjekte enthält.

Schritte:

  1. Datentabelle füllen: Beginnen Sie damit, eine Datentabelle zu erstellen und diese mit Daten aus Ihrer Datenbank (oder einer anderen Quelle) zu füllen.

  2. JavaScriptSerializer verwenden: Verwenden Sie die Klasse JavaScriptSerializer, um die JSON-Serialisierung zu verarbeiten.

  3. Erstellen Sie eine Liste mit Wörterbüchern: Erstellen Sie eine Liste, um jede Zeile der DataTable als Wörterbuch zu speichern.

  4. Wörterbücher iterieren und füllen: Jedes DataRow in der Datentabelle durchlaufen. Für jede Zeile:

    • Erstellen Sie ein neues Wörterbuch.
    • Durchlaufen Sie jedes DataColumn in der Datentabelle.
    • Fügen Sie den Spaltennamen (col.ColumnName) als Schlüssel und den entsprechenden Spaltenwert (dr[col]) als Wert zum Wörterbuch hinzu.
    • Fügen Sie das fertige Wörterbuch zur Liste der Wörterbücher hinzu.
  5. Liste serialisieren: Schließlich serialisieren Sie die Liste der Wörterbücher mit JavaScriptSerializer, indem Sie sie in ein JSON-Objekt mit der Eigenschaft „records“ einschließen.

Codebeispiel:

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 });
}
Nach dem Login kopieren

Dieser überarbeitete Code bietet eine klare und effiziente Methode zum Konvertieren einer DataTable in das angegebene JSON-Format und stellt sicher, dass jeder Datensatz innerhalb eines „Records“-Arrays ordnungsgemäß dargestellt wird. Denken Sie daran, die erforderlichen using-Anweisungen hinzuzufügen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine DataTable in einen JSON-String mit einem „records'-Array in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage