Maison > développement back-end > C++ > Comment convertir un DataTable en chaîne JSON avec un tableau « enregistrements » en C# ?

Comment convertir un DataTable en chaîne JSON avec un tableau « enregistrements » en C# ?

Patricia Arquette
Libérer: 2025-01-21 16:36:10
original
383 Les gens l'ont consulté

How to Convert a DataTable to a JSON String with a

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 :

  1. 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).

  2. Utilisez JavaScriptSerializer : Utilisez la classe JavaScriptSerializer pour gérer la sérialisation JSON.

  3. Créer une liste de dictionnaires : Construisez une liste pour stocker chaque ligne du DataTable sous forme de dictionnaire.

  4. Itérer et remplir les dictionnaires : Parcourez chaque DataRow du DataTable. Pour chaque ligne :

    • Créez un nouveau dictionnaire.
    • Parcourez chaque DataColumn dans le DataTable.
    • Ajoutez le nom de la colonne (col.ColumnName) comme clé et la valeur de la colonne correspondante (dr[col]) comme valeur dans le dictionnaire.
    • Ajoutez le dictionnaire complété à la liste des dictionnaires.
  5. 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>
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal