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:
Datentabelle füllen: Beginnen Sie damit, eine Datentabelle zu erstellen und diese mit Daten aus Ihrer Datenbank (oder einer anderen Quelle) zu füllen.
JavaScriptSerializer verwenden: Verwenden Sie die Klasse JavaScriptSerializer
, um die JSON-Serialisierung zu verarbeiten.
Erstellen Sie eine Liste mit Wörterbüchern: Erstellen Sie eine Liste, um jede Zeile der DataTable als Wörterbuch zu speichern.
Wörterbücher iterieren und füllen: Jedes DataRow
in der Datentabelle durchlaufen. Für jede Zeile:
DataColumn
in der Datentabelle.col.ColumnName
) als Schlüssel und den entsprechenden Spaltenwert (dr[col]
) als Wert zum Wörterbuch hinzu.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 }); }
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!