Conversion C# DataTable en JSON : obtenir le format souhaité
Ce guide montre comment convertir un DataTable C# en une chaîne JSON avec une structure spécifique, en évitant le format d'objet JSON par défaut. Le format cible est un objet JSON contenant un tableau « enregistrements » d'objets d'enregistrement individuels.
Étapes :
Remplissez le DataTable : Commencez par créer un DataTable et remplissez-le avec les données de votre base de données (ou de toute autre source).
Utilisez JavaScriptSerializer : Utilisez la classe JavaScriptSerializer
pour gérer la sérialisation JSON.
Créer une liste de dictionnaires : Construisez une liste pour stocker chaque ligne du DataTable sous forme de dictionnaire.
Itérer et remplir les dictionnaires : Parcourez chaque DataRow
du DataTable. Pour chaque ligne :
DataColumn
dans le DataTable.col.ColumnName
) comme clé et la valeur de la colonne correspondante (dr[col]
) comme valeur dans le dictionnaire.Sérialiser la liste : Enfin, sérialisez la liste des dictionnaires à l'aide de JavaScriptSerializer
, en l'enveloppant dans un objet JSON avec une propriété "records".
Exemple de code :
<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>
Ce code révisé fournit une méthode claire et efficace pour convertir un DataTable au format JSON spécifié, garantissant que chaque enregistrement est correctement représenté dans un tableau « enregistrements ». N'oubliez pas d'ajouter les using
déclarations nécessaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!