Maison > développement back-end > C++ > Comment puis-je convertir efficacement un DataTable C# en un format JSON personnalisé ?

Comment puis-je convertir efficacement un DataTable C# en un format JSON personnalisé ?

DDD
Libérer: 2025-01-21 16:43:09
original
630 Les gens l'ont consulté

How Can I Efficiently Convert a C# DataTable to a Custom JSON Format?

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal