Maison > développement back-end > C++ > Comment convertir facilement des réponses JSON complexes en DTO C# ?

Comment convertir facilement des réponses JSON complexes en DTO C# ?

Patricia Arquette
Libérer: 2025-01-12 12:41:44
original
536 Les gens l'ont consulté

How to Easily Convert Complex JSON Responses into C# DTOs?

Convertir une réponse JSON complexe en DTO en C# Asp.Net

Question originale :

Lorsque vous utilisez RestSharp pour recevoir des réponses JSON complexes, extrayez une liste de DTO sans analyse manuelle.

Solution :

Exploitez la fonctionnalité « Collage spécial » de Visual Studio pour générer automatiquement des classes C# à partir de JSON :

  1. Copiez la réponse JSON.
  2. Dans Visual Studio, accédez à Édition > Coller spécial > Coller JSON en tant que classe.
  3. Visual Studio générera une série de classes qui représentent la structure JSON, notamment :
<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>
Copier après la connexion

Cela vous permet d'accéder aux données de la réponse JSON via les propriétés DTO générées, par exemple :

<code class="language-csharp">// 假设 response 是 RestSharp 响应对象
var json = response.Content;

// 将 JSON 反序列化到 Rootobject 类
Rootobject rootObject = JsonConvert.DeserializeObject<Rootobject>(json);

// 访问 Leads 属性
var leads = rootObject.response.result.Leads;

// 访问各个 Lead 记录
foreach (var leadRow in leads.row)
{
    var leadId = leadRow.FL[0].content;
    var company = leadRow.FL[1].content;

    // 从检索到的数据创建 LeadDto 对象
    var leadDto = new LeadDto { LeadId = leadId, Company = company };
}</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
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