Je suis en train de convertir un objet JSON dynamique en Excel en C#. J'ai essayé les étapes suivantes. A partir de la base de données, j'obtiens la réponse ci-dessous sous forme de chaîne.
[ {"ResourceName":"AH","ProjectID":1,"WeekNo":2,"02 Dec 2019":7.00,"03 Dec 2019":7.50,"04 Dec 2019":7.00,"05 Dec 2019":7.50,"06 Dec 2019":7.00},{"ResourceName":"CK","ProjectID":1,"WeekNo":2,"02 Dec 2019":6.00,"03 Dec 2019":5.00,"04 Dec 2019":3.00,"05 Dec 2019":2.00,"06 Dec 2019":5.00}, {"ResourceName":"AH","ProjectID":1,"WeekNo":3,"09 Dec 2019":6.00,"10 Dec 2019":7.50,"11 Dec 2019":7.00,"12 Dec 2019":7.50,"13 Dec 2019":8.00},{"ResourceName":"CK","ProjectID":1,"WeekNo":3,"09 Dec 2019":6.00,"10 Dec 2019":4.00,"11 Dec 2019":null,"12 Dec 2019":5.00,"13 Dec 2019":4.00},{"ResourceName":"SL","ProjectID":1,"WeekNo":3,"09 Dec 2019":null,"10 Dec 2019":1.50,"11 Dec 2019":null,"12 Dec 2019":1.50,"13 Dec 2019":0.50}, {"ResourceName":"AH","ProjectID":1,"WeekNo":4,"16 Dec 2019":7.00},{"ResourceName":"CK","ProjectID":1,"WeekNo":4,"16 Dec 2019":3.00} ]
Je dois convertir la chaîne ci-dessus en JSON et effectuer une opération en boucle afin de définir les en-têtes et les valeurs détaillées pour la création d'Excel. J'ai utilisé la méthode ci-dessous en créant un dynamic
objet.
ResourceName et les dates dynamiques doivent servir d'en-têtes de colonne. Il est incapable de créer un modèle puisque le date
sont dynamiques.
using System.Web.Helpers;
dynamic jsonObject = Json.Decode(response);
J'ai pu extraire les valeurs de QuickWatch, mais la sortie n'est générée qu'en cours d'exécution, comme ci-dessous.
(new System.Collections.Generic.Mscorlib_DictionaryDebugView<string, object>(((System.Web.Helpers.DynamicJsonObject)((System.Web.Helpers.DynamicJsonArray)jsonObject)._arrayValues[0])._values).Items[0]).Key
Existe-t-il un moyen de parcourir en boucle le contenu du tableau dynamique ?