Convertir DataTable en JSON en C#
Cet article explique comment convertir des objets DataTable au format C# au format JSON. Le problème commence par la récupération des enregistrements de la base de données dans un DataTable, puis par leur conversion en objet JSON et par leur renvoi vers une fonction JavaScript. Cependant, le format JSON requis est différent de la sortie actuelle. Cet article propose une solution pour obtenir le format JSON souhaité.
Pour résoudre ce problème, vous pouvez utiliser différentes méthodes de sérialisation. Au lieu d'utiliser JsonConvert.SerializeObject
, envisagez d'utiliser System.Web.Script.Serialization
dans l'espace de noms JavaScriptSerializer
. Cette alternative permet un meilleur contrôle sur la structure de sortie JSON.
Voici un exemple de mise en œuvre de cette solution :
<code class="language-csharp">public string ConvertDataTabletoString() { DataTable dt = new DataTable(); using (SqlConnection con = new SqlConnection("YOUR_CONNECTION_STRING")) { using (SqlCommand cmd = new SqlCommand("YOUR_QUERY", con)) { con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); Dictionary<string, object> row; foreach (DataRow dr in dt.Rows) { row = new Dictionary<string, object>(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, dr[col]); } rows.Add(row); } return serializer.Serialize(rows); } } }</code>
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!