Générer des classes C# DTO à partir de réponses JSON complexes dans ASP.NET
Lorsque vous traitez des réponses JSON structurées de manière complexe, il peut être fastidieux de créer manuellement des classes DTO pour extraire les données requises. Mais Visual Studio fournit une solution pratique qui facilite cette tâche.
Utilisez Visual Studio pour générer des classes DTO à partir de JSON
Étape 1 : copiez la réponse JSON et ouvrez Visual Studio.
Étape 2 : Dans la barre de menu, sélectionnez Modifier > Coller spécial > Coller JSON en tant que classe .
Étape 3 : Visual Studio générera automatiquement la classe DTO correspondante en fonction de votre structure JSON.
Exemple :
Supposons que vous ayez la réponse JSON suivante :
<code class="language-json">{ "response": { "result": { "Leads": { "row": [ { "no": "1", "FL": [ { "val": "LEADID", "content": "101" }, { "val": "Company", "content": "Test 1" } ] }, { "no": "2", "FL": [ { "val": "LEADID", "content": "102" }, { "val": "Company", "content": "Test 2" } ] } ] } }, "uri": "/crm/private/json/Leads/getRecords" } }</code>
En suivant les étapes ci-dessus, Visual Studio générera les classes DTO suivantes :
<code class="language-csharp">public class Rootobject { public Response response { get; set; } } public class Response { public Result result { get; set; } public string uri { get; set; } } public class Result { public Leads Leads { get; set; } } public class Leads { public Row[] row { get; set; } } public class Row { public string no { get; set; } public FL[] FL { get; set; } } public class FL { public string val { get; set; } public string content { get; set; } }</code>
Avec ces classes DTO, vous pouvez facilement récupérer les données requises à partir de la réponse JSON :
<code class="language-csharp">var leads = response.result.Leads.row; foreach (var lead in leads) { Console.WriteLine($"Lead ID: {lead.FL.Where(x => x.val == "LEADID").SingleOrDefault().content}"); Console.WriteLine($"Company: {lead.FL.Where(x => x.val == "Company").SingleOrDefault().content}"); }</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!