Heim >Backend-Entwicklung >C++ >Wie konvertiert man komplexe JSON-Antworten einfach in C#-DTOs?

Wie konvertiert man komplexe JSON-Antworten einfach in C#-DTOs?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-12 12:41:44544Durchsuche

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

Konvertieren Sie komplexe JSON-Antworten in DTO in C# Asp.Net

Ursprüngliche Frage:

Wenn Sie RestSharp zum Empfang komplexer JSON-Antworten verwenden, extrahieren Sie eine Liste von DTOs ohne manuelles Parsen.

Lösung:

Nutzen Sie die Funktion „Inhalte einfügen“ von Visual Studio, um automatisch C#-Klassen aus JSON zu generieren:

  1. Kopieren Sie die JSON-Antwort.
  2. Navigieren Sie in Visual Studio zu „Bearbeiten“ > „Inhalte einfügen“ > „JSON als Klasse einfügen“.
  3. Visual Studio generiert eine Reihe von Klassen, die die JSON-Struktur darstellen, einschließlich:
<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>

Dadurch können Sie über generierte DTO-Eigenschaften auf Daten in der JSON-Antwort zugreifen, zum Beispiel:

<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>

Das obige ist der detaillierte Inhalt vonWie konvertiert man komplexe JSON-Antworten einfach in C#-DTOs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn