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
601 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 :
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; }
}
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 :

// 假设 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 };
}
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!

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