Rumah > pembangunan bahagian belakang > C++ > Bagaimana Mudah Menukar Respons JSON Kompleks ke C# DTO?

Bagaimana Mudah Menukar Respons JSON Kompleks ke C# DTO?

Patricia Arquette
Lepaskan: 2025-01-12 12:41:44
asal
602 orang telah melayarinya

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

Tukar respons JSON kompleks kepada DTO dalam C# Asp.Net

Soalan asal:

Apabila menggunakan RestSharp untuk menerima respons JSON yang kompleks, ekstrak senarai DTO tanpa penghuraian manual.

Penyelesaian:

Manfaatkan ciri "Tampal Khas" Visual Studio untuk menjana kelas C# secara automatik daripada JSON:

  1. Salin respons JSON.
  2. Dalam Visual Studio, navigasi ke Edit >Tampal Khas >Tampal JSON Sebagai Kelas.
  3. Visual Studio akan menjana satu siri kelas yang mewakili struktur JSON, termasuk:
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; }
}
Salin selepas log masuk

Ini membolehkan anda mengakses data dalam respons JSON melalui sifat DTO yang dijana, contohnya:

// 假设 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 };
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Mudah Menukar Respons JSON Kompleks ke C# DTO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan